1

没看懂,怎么上传不了照片

在我的中有以下内容Input::all()

Array
(
    [name] => p17fp1pnaa1gpr5otdg1ba3fd4v.jpg
    [file] => Array
        (
            [name] => tumblr_ltaruq6XCH1qc4lrfo4_400.jpg
            [type] => image/jpeg
            [tmp_name] => C:\xampp\tmp\php9A20.tmp
            [error] => 0
            [size] => 48382
        )

)

我尝试将文件上传到 tmp 目录,但它不会这样做......

$tmp_input = Input::all();
#$tmp_input = $tmp_input['file'];
Input::upload('photo', path('public').'uploads/tmp', $tmp_input['file']['name']);

$tmp_input['file']['name']或者$tmp_input['name'], 也不起作用

是的,该uploads/tmp文件夹存在。我是否遗漏了不会上传的语法中的某些内容?

4

2 回答 2

1

就像其他人可能知道的那样,我不得不使用move_uploaded_file()函数,因为我无法使用 Laravel 的任何函数上传文件。

所以这就是我所做的

$tmp_input   = Input::all();
$destination = $this->tmp_dir.$tmp_input['name'];
move_uploaded_file($tmp_input['file']['tmp_name'], $destination);
于 2013-01-02T12:37:09.537 回答
0

我认为您调用的文件名不正确,如果您查看临时文件夹中的文件,则它的名称与原始文件不同,[tmp_name] => C:\xampp\tmp\php9A20.tmp 因此您需要从临时文件夹移动到您path('public').'uploads/tmp'的文件是 php9A20。 tmp 在此之后,如果您愿意的话,您应该使用原始名称重命名文件。它应该以这种方式。[name] => tumblr_ltaruq6XCH1qc4lrfo4_400.jpg,试试下面的代码。

Input::upload('photo', path('public').'uploads/tmp', $tmp_input['file']['tmp_name']);
于 2013-01-01T18:09:01.453 回答