PHP Téléchargement gros fichiers
Résolu
LaurentMtns
Messages postés
269
Date d'inscription
Statut
Membre
Dernière intervention
-
LaurentMtns Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
LaurentMtns Messages postés 269 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
J'ai un site sur lequel mes modèles (je suis photographe amateur) peuvent télécharger leurs photos après un shooting. Étant fan de programmation depuis que je suis petit, je fais ce site entièrement moi même.
Depuis un mois j'essaye de créer un système qui permettra de télécharger l'album photo en une fois dans une archive *.RAR. La taille de ces archives est aléatoire mais presque jamais sous 100Mo (photos HD). J'utilise donc un code PHP qui envoie le fichier morceau/morceau. Le problème est que ça marche bien pour des petits fichiers mais pour les archives, elles sont toujours incomplètes.
J'ai déjà essayé plusieurs méthodes trouvées sur le net mais rien ne corrige ce problème. Je possède un hébergement mutualisé chez OVH, est-ce possible que cela vienne du serveur?
Mon code actuel :
Merci pour vos futurs réponses.
Bonne soirée ! :)
Laurent M.
"Stand up for what you believe in even if that means standing alone." - A. Biersack
J'ai un site sur lequel mes modèles (je suis photographe amateur) peuvent télécharger leurs photos après un shooting. Étant fan de programmation depuis que je suis petit, je fais ce site entièrement moi même.
Depuis un mois j'essaye de créer un système qui permettra de télécharger l'album photo en une fois dans une archive *.RAR. La taille de ces archives est aléatoire mais presque jamais sous 100Mo (photos HD). J'utilise donc un code PHP qui envoie le fichier morceau/morceau. Le problème est que ça marche bien pour des petits fichiers mais pour les archives, elles sont toujours incomplètes.
J'ai déjà essayé plusieurs méthodes trouvées sur le net mais rien ne corrige ce problème. Je possède un hébergement mutualisé chez OVH, est-ce possible que cela vienne du serveur?
Mon code actuel :
<?php ignore_user_abort(true); set_time_limit(0); // ... du code pour récupérer le nom du fichier if (file_exists($fullPath)) { if ($fd = fopen ($fullPath, "rb")) { $fsize = filesize($fullPath); $path_parts = pathinfo($fullPath); $ext = strtolower($path_parts["extension"]); switch ($ext) { case "jpg": header("Content-type: image/jpeg"); header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); break; default; header("Content-type: application/octet-stream"); header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); break; case "rar"; header("Content-type: application/x-rar-compressed"); header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); break; default; header("Content-type: application/octet-stream"); header("Content-Disposition: filename=\"".$path_parts["basename"]."\""); break; } header("Content-length: $fsize"); header("Cache-control: private"); ob_end_flush(); ob_end_clean(); //deux lignes vue sur internet while(!feof($fd)) { $buffer = fread($fd, 2048)); echo $buffer; flush(); } } fclose ($fd); exit; } ?>
Merci pour vos futurs réponses.
Bonne soirée ! :)
Laurent M.
"Stand up for what you believe in even if that means standing alone." - A. Biersack
A voir également:
- PHP Téléchargement gros fichiers
- Telechargement direct - Accueil - Outils
- Gros fichiers .com - Guide
- Dark world telechargement - Guide
- Téléchargement - Télécharger - Compression & Décompression
- Telechargement - Télécharger - Traitement de texte
2 réponses
Bonsoir, je n'y connais pas grand chose dans ce domaine pour tout dire ... Mais c'est peut être un problème de connexion internet. Si jamais le débit serait vraiment trop bas, alors il est possible que tout soit indiqué comme si tout était bien terminé et normalement. Alors que le transfert s'est arrêté et qu'il manque des fichiers.
Autrement, je ne peut pas en dire plus !
J'éspère t'avoir aidé ...
Bye
Autrement, je ne peut pas en dire plus !
J'éspère t'avoir aidé ...
Bye
Hello,
AMHA première chose à faire, aller voir dans les logs si on retrouve un message d'erreur.
Plusieurs utilisateurs OVH se plaignent de problèmes similaires liés à une option de la configuration de PHP, voir par exemple ce fil ...
Tout dépends de ce qui se trouve dans les logs et certainement de la configuration de PHP.
AMHA première chose à faire, aller voir dans les logs si on retrouve un message d'erreur.
Plusieurs utilisateurs OVH se plaignent de problèmes similaires liés à une option de la configuration de PHP, voir par exemple ce fil ...
Tout dépends de ce qui se trouve dans les logs et certainement de la configuration de PHP.
Merci beaucoup ryko1820, j'ai résolut mon problème grâce au lien que tu m'as donné (dernier message de preitlinger).
Pour ceux qui possède un hébergement ovh et rencontrerait le même problème que moi, j'ai simplement ajouté ces deux lignes dans le fichier .ovhconfig se trouvant à la racine du site.
Ligne modifiée :
app.engine=phpcgi
ligne ajoutée:
app.engine.version=AUTO
ryko1820, une idée de l'impacte sur le reste du site?
Encore un graaaand merci ! :-D
Pour ceux qui possède un hébergement ovh et rencontrerait le même problème que moi, j'ai simplement ajouté ces deux lignes dans le fichier .ovhconfig se trouvant à la racine du site.
Ligne modifiée :
app.engine=phpcgi
ligne ajoutée:
app.engine.version=AUTO
ryko1820, une idée de l'impacte sur le reste du site?
Encore un graaaand merci ! :-D
D'après ce que j'en ai compris, la manip consiste a repasser du mod_fpm qui semble être le fonctionnement par défaut des serveurs mutualisés PHP actuels chez OVH au CGI qui est, je crois, le fonctionnement "historique". Ce qui aurait surtout, une incidence sur la façon dont les process lancés par PHP sont gérés et suivis par le serveur ...
Je n'ai jamais trop creusé le sujet et je ne pourrais en dire plus, il y a certainement des répercutions importantes sur les performances en cas de montée en charge du site.
A priori en mode auto, le serveur est censé choisir le mode approprié à l'action ...
Je n'ai jamais trop creusé le sujet et je ne pourrais en dire plus, il y a certainement des répercutions importantes sur les performances en cas de montée en charge du site.
A priori en mode auto, le serveur est censé choisir le mode approprié à l'action ...
Mais merci pour l'idée, je testerai à l'occasion sur une grosse connexion pour voir :-)