我只是不明白,为什么不上传照片。
在我的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
文件夹存在。我是否遗漏了语法中没有上传的内容?
答案 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']);