我使用Laravel PHP,並且我有一個照片庫,允許用戶將圖片上傳到相冊。當我上傳小於8MB的正常文件大小的圖像時,它們會被上傳並保存到相冊中。但是,當我嘗試上傳大於8MB的圖像時,我不斷收到'調用成員函數getClientOriginalName()null'錯誤。Laravel PHP:使用大文件尺寸上傳圖片導致'getClientOriginalName()'爲'null'
爲了說明被上傳到照相館大的圖像,我分別編輯「nginx.conf」和「php.ini中」,所以,在「nginx.conf」
client_max_body_size 8M;
前行改爲
client_max_body_size 25M;
而且在 'php.ini中',這條線:
upload_max_filesize = 8M
改爲:
upload_max_filesize = 25M
在這兩個文件進行更改後,在膩子我跑:
sudo service nginx restart
sudo service php5-fpm restart
這是我上傳新的照片控制器:
public function store()
{
$input = \Input::all();
$validation = new Validators\Stone_Photo;
$filename = str_random(4) . \Input::file('photo_path')->getClientOriginalName();
$destination = "uploads/photos/";
$upload = \Input::file('photo_path')->move($destination, $filename);
if($upload == false)
{
return \Redirect::to('home.index')
->withInput()
->withErrors($validation->errors)
->with('message', 'Could not upload picture');
}
$this->stone_photo->create($input, $filename);
return \Redirect::route('show_stone', array('id' => $input['stone_id']));
}
所以再次,8MB以下的照片仍然可以正常上傳,但當我嘗試上傳9MB或以上的照片時,我總是收到錯誤'調用成員函數ñgetClientOriginalName()null'錯誤,我不知道爲什麼。任何幫助是極大的讚賞。
這聽起來像是一個很好的解決方案。當我回到我的工作電腦時,我一定會在早上第一時間嘗試一下。非常感謝! – 2014-11-15 05:00:07
您的解決方案非常完美!我按照你的說法編輯了我的'php.ini'文件,現在我可以發佈高內存大小的圖像。非常感謝Bogdan! – 2014-11-17 14:32:57