2012-12-31 70 views
1

我只是不明白,爲什麼不上傳照片。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文件夾存在。我是否從語法上錯過了一些不會執行上傳的內容?

+0

你必須tmp文件夾「寫入」權限? – Laurence

+0

@TheShiftExchange yes – Alex

回答

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); 
+0

您應該使用: '$ uploadfile = Input :: file('userfile');' '$ uploadfile-> move($ path,$ fileName);' –

+0

'Input :: upload()'似乎在所有情況下都適合我。 –

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']);