Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/11/2011, 21h07   #1
Invité régulier
 
Homme
Inscription : août 2011
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 39
Points : 6
Points : 6
Par défaut Download gros fichiers

Bonjour à tous,

j'ai créé mon premier site web sur un serveur dédié équipé d'Apache et php.
Sur une des pages de mon site je propose aux visiteurs de télécharger (downloader) des gros fichiers (200 Mo) à l'aide d'un code trouvé sur ce site (dans les FAQ)

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
<?php
$full_path = './download_fichier/monfichier.zip';
$file_name = basename($full_path);
ini_set('zlib.output_compression', 0);
$date = gmdate(DATE_RFC1123);
header('Pragma: public');
header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
header('Content-Tranfer-Encoding: none');
header('Content-Length: '.filesize($full_path));
header('Content-MD5: '.base64_encode(md5_file($full_path)));
header('Content-Type: application/octetstream; name="'.$file_name.'"');
header('Content-Disposition: attachment; filename="'.$file_name.'"');
header('Date: '.$date);
header('Expires: '.gmdate(DATE_RFC1123, time()+1));
header('Last-Modified: '.gmdate(DATE_RFC1123, filemtime($full_path)));
readfile($full_path);
exit; // nécessaire pour être certain de ne pas envoyer de fichier corrompu
?>
Ce code fonctionne à merveille.

Je depuis changé mon serveur pour le passer sous wampserveur2.2 et php 5.3.8., et depuis ce même code ne fonctionne plus ....

Il fonctionne cependant avec des petits fichiers (quelques kilo)... mais pas les importants.

Avez vous une idée ...

d'avance je vous remercie

Modification : la taille maximale est de 100 Mo.


Citation:
Ci-dessous erreur d'IE :

Internet Explorer ne peut pas afficher cette page Web

Essayez la chose suivante :
Diagnostiquer les problèmes de connexion

Informations

Ce problème peut avoir différentes causes, notamment :

•La connexion Internet a été perdue.
•Le site Web est temporairement indisponible.
•Le serveur de noms de domaine (DNS) est inaccessible.
•Le serveur de noms de domaine (DNS) ne contient pas d’entrée pour le domaine du site Web.
•Il se peut que l’adresse contienne une erreur de frappe.
•S’il s’agit d’une adresse HTTPS (sécurisée), cliquez sur Outils, sur Options Internet, puis sur Avancées et vérifiez que les protocoles SSL et TLS sont activés dans la section relative à la sécurité.

Pour les utilisateurs hors connexion

Vous pouvez encore afficher les flux auxquels vous êtes abonné et certaines pages Web visitées.
Pour afficher les flux auxquels vous êtes abonné

1.Cliquez sur le bouton Centre des favoris , cliquez sur Flux, puis cliquez sur le flux que vous souhaitez afficher.

Pour afficher les dernières pages Web visitées (peut ne pas fonctionner pour toutes les pages)

1.Cliquez sur Outils , puis sur Travailler hors connexion.
2.Cliquez sur le bouton Centre des favoris , cliquez sur Historique, puis cliquez sur la page que vous souhaitez afficher.
Le_pouetch est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 08/11/2011, 02h54   #2
Invité régulier
 
Homme laurent laurent
Consultant informatique
Inscription : mars 2010
Messages : 5
Détails du profil
Informations personnelles :
Nom : Homme laurent laurent

Informations professionnelles :
Activité : Consultant informatique

Informations forums :
Inscription : mars 2010
Messages : 5
Points : 5
Points : 5
Par défaut paramètres du php.ini

Salut,

Il y a plusieurs paramètres dans le php.ini notamment pour des raisons de sécurité.

Normalement sur un problème de ce type, il s'agit de upload_max_filesize. Cependant, je ne pourrais rien te dire de plus que la doc officielle:
http://www.php.net/manual/fr/feature...n-pitfalls.php

Bonne continuation.
tuxManiac est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 08/11/2011, 08h11   #3
Invité régulier
 
Homme
Inscription : août 2011
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 39
Points : 6
Points : 6
Citation:
Envoyé par tuxManiac Voir le message
Salut,

Il y a plusieurs paramètres dans le php.ini notamment pour des raisons de sécurité.

Normalement sur un problème de ce type, il s'agit de upload_max_filesize. Cependant, je ne pourrais rien te dire de plus que la doc officielle:
http://www.php.net/manual/fr/feature...n-pitfalls.php

Bonne continuation.

Bonjour à toi et merci de ta réponse,

mais ce paramètre est pour l'upload des fichiers (et non le download), et il est réglé à 4000Mo dans mon cas.
Le_pouetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 10h51   #4
Invité régulier
 
Homme
Inscription : août 2011
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 39
Points : 6
Points : 6
bonjour à tous,

comme il n'y a pas foule de réponse sur ce post, existe-il une autre méthode pour proposer le download de fichier ? (en php ou javascript ou autres)

Merci de votre aide
Le_pouetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/11/2011, 13h24   #5
Membre confirmé
 
Homme Clément
Développeur informatique
Inscription : décembre 2006
Messages : 213
Détails du profil
Informations personnelles :
Nom : Homme Clément
Localisation : France

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : décembre 2006
Messages : 213
Points : 277
Points : 277
Ton code m'a l'air correct pourtant ! Enfin y'a rien d'extravagant dedans... Et pourquoi les petits passent et pas les gros... Configuration qui a changé dans PHP lorsque tu as changé de version ? Peut être ça plutôt que le changement de numéro de version.

Je vois pas pourquoi il y aurait une limite sur la taille pour pouvoir télécharger tes fichiers.

Je te conseille de tenter une ou plusieurs des choses suivantes :
  • Utiliser firebug (onglet réseau) ou autre outil similaire pour savoir quel a été le code HTTP de la réponse (j'espère que tu n'es pas trop attaché à IE).
  • Supprimer un maximum de header dans ton code. Il y en a plein qui ne sont pas indispensables, peut être en enlevant certains, cela finira par passer.
  • Consulter les logs de ton serveur en mettant un maximum le niveau de warning au plus haut.
  • Tester le code se trouvant ici dans l'exemple 1.
Climoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/11/2011, 13h40   #6
Invité régulier
 
Homme
Inscription : août 2011
Messages : 39
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : août 2011
Messages : 39
Points : 6
Points : 6
Citation:
Envoyé par Climoo Voir le message
Ton code m'a l'air correct pourtant ! Enfin y'a rien d'extravagant dedans... Et pourquoi les petits passent et pas les gros... Configuration qui a changé dans PHP lorsque tu as changé de version ? Peut être ça plutôt que le changement de numéro de version.

Je vois pas pourquoi il y aurait une limite sur la taille pour pouvoir télécharger tes fichiers.

Je te conseille de tenter une ou plusieurs des choses suivantes :
  • Utiliser firebug (onglet réseau) ou autre outil similaire pour savoir quel a été le code HTTP de la réponse (j'espère que tu n'es pas trop attaché à IE).
  • Supprimer un maximum de header dans ton code. Il y en a plein qui ne sont pas indispensables, peut être en enlevant certains, cela finira par passer.
  • Consulter les logs de ton serveur en mettant un maximum le niveau de warning au plus haut.
  • Tester le code se trouvant ici dans l'exemple 1.

Bonjour,

merci de ta réponse et de valider le code, et n'ayant pas de solution je vais passer par un lien tout simple ... et être obliger de zipper pour forcer le téléchargement.
Le_pouetch est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 14h13.


 
 
 
 
Partenaires

Hébergement Web