laravel不会上传照片

时间:2012-12-31 18:09:01

标签: php upload laravel

我只是不明白,为什么不上传照片。

在我的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文件夹存在。我是否遗漏了语法中没有上传的内容?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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']);