2017-09-10 4 views
0

Je développe actuellement une application Laravel 5.4 fonctionnant sur PHP 7. J'utilise Google Drive comme stockage.J'essaie de télécharger un gros fichier, la taille de 200-300 mb ou petit fichier de 10-12 ko à mon stockage de disque google en utilisant nao-pon/flysystem. Pour cela, j'ai suivi ce tutoriel: https://gist.github.com/ivanvermeyen/cc7c59c185daad9d4e7cb8c661d7b89b. J'ai changé mes php.ini comme ceci:Laravel télécharger n'importe quelle taille de fichier dans Google Drive

post_max_size = 800M 

upload_max_filesize = 700M 

Je peux télécharger petit problème de file.The a eu lieu quand je suis en train de télécharger un grand fichier, la taille de 200-250 mb, le alotted php memory_limit et je Surpasse obtenir une erreur.

J'ai utilisé cette méthode de commande

$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)); 

    } 
     } 

Alors, je l'ai cherché google, comment puis-je télécharger de gros fichiers sans dépasser le

memory_limit 

et je reçois ce pour Amazon S3 et Je l'ai modifié pour Google lecteur:

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

Bu t, maintenant je reçois une autre erreur en essayant de télécharger une taille de fichier (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)] 

Cette méthode fonctionne très bien pour les locaux storage.But pas Google Drive. Donc, ma question est, y at-il un moyen ou un paquet qui est simple et je peux l'implémenter facilement pour télécharger n'importe quelle taille de fichier sur mon disque google sans aucun hassel.

+0

cela pourrait être votre serveur web agissant. Avez-vous modifié la taille de téléchargement de votre serveur Web? – Ali

+0

ouais, je l'ai fait. –

Répondre

0

Il y avait un bogue dans le paquet nao-pon/flysystem.Utiliser le nouveau package ou composer update résoudra le problème.