2017-09-10 83 views
0

我目前正在開發一個運行在PHP 7上的Laravel 5.4應用程序。我正在使用Google Drive作爲我的存儲空間。我試圖上傳200-300 MB或更小的大文件文件10-12 kb到我的谷歌驅動器存儲使用nao-pon/flysystem。爲此,我遵循本教程:https://gist.github.com/ivanvermeyen/cc7c59c185daad9d4e7cb8c661d7b89b。 我已經改變了我的php.ini這樣的:Laravel在Google Drive中上傳任意大小的文件

post_max_size = 800M 

upload_max_filesize = 700M 

我可以上傳發生小銼的問題,當我試圖上傳大文件,200-250 MB的大小,alotted PHP memory_limit超越與我得到錯誤。

我已經使用這個控制方法

$files = $request->file('files'); 
if($request->hasFile('files')){ 

foreach ($files as $file) { 

$name = $file->getClientOriginalName(); 
$disk = Storage::disk('google'); 
$disk->put($name, File::get($file)); 

    } 
     } 

所以,我搜索谷歌,我怎麼能上傳大文件,而不超越

memory_limit 

,我得到這個亞馬遜S3和我將它修改爲Google驅動器:

$disk = Storage::disk('google'); 
$disk->put($name, fopen($file, 'r+')); 

Bu T,現在我得到另一個錯誤試圖文件的任何規模大小上傳(10KB-300MB):

(1/1) ErrorException 
A non well formed numeric value encountered 

in GoogleDriveAdapter.php (line 1143) 
at HandleExceptions->handleError(8, 'A non well formed numeric value encountered', '/app/vendor/nao-pon/flysystem-google-drive/src/GoogleDriveAdapter.php', 1143, array('iniName' => 'memory_limit', 'val' => '128M', 'last' => 'm'))in GoogleDriveAdapter.php (line 1143)] 

這種方法用於本地storage.But工作的罰款不是谷歌驅動器。 所以,我的問題是,有沒有什麼方法或包裝,這是簡單的,我可以很容易地實現它將任何大小的文件上傳到我的谷歌驅動器沒有任何安裝。

+0

它可能是您的網絡服務器採取行動。您是否更改了網絡服務器的上傳大小? – Ali

+0

是的,我做到了。 –

回答

0

nao-pon/flysystem包中有一個錯誤。使用新包或 composer update將解決該問題。