IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Téléchargement de fichiers impossible [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut Téléchargement de fichiers impossible
    Bonjour,
    J'ai développé une petite fonction qui me permet de déposer des fichiers sur un serveur, puis de les récupérer par la suite.
    Pour cela j'utilise Wamp Serveur. J'ai modifier les fichiers de config httpd.conf et php.ini afin de pouvoir déposer des fichiers d'une taille maximal de 500Mo.
    Jusque là pas le moindre soucis.
    Lorsque je souhaite récupérer un fichier, d'une faible taille pas de soucis, en revanche dès que celui-ci dépasse la centaine de méga octets, cela ne fonctionne plus. Le navigateur m'indique que le fichier ne pèse que 1Ko...


    Voici le code de mon fichier php pour le download :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    <?php
    	if (isSet($_POST['pwd'])) 
    	{
    		$mdp = $_POST['pwd'];
    		$mdp_md5 = md5($mdp);
    		mysql_connect("localhost", "root", "");
    		mysql_select_db("Upload");	
    		$query = mysql_query("SELECT lien,Nom_final,BoolSuppr FROM link WHERE pwd='$mdp_md5'") or die(mysql_error());
     
    		if(!mysql_num_rows($query))
    		{
    			echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
    			echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
    			echo "<head>";
    			echo "<meta http-equiv=\"Content-Type\" content=\"html/css; charset=utf-8\" />";
    			echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"./design.css\" title=\"default\" media=\"screen\" />";
    			echo "</meta>";
    			echo "</head>";
    			echo "<body>";
    			echo "<h1>Attention, le mot de passe saisi est incorrect !<span></span></h1>";
    			echo "<div class=\"liens2\">";
    			echo "<a href=\"./\">Essayez &agrave nouveau</a><br><br></div>";
    			echo "</div>";
    			echo "</body>";
    			echo "</html>";
    		}
    		else
    		{
    			while ($donnees = mysql_fetch_array($query))
    			{
    				if($donnees['BoolSuppr'] == "0")
    				{
    					mysql_query("UPDATE link set Count = Count + 1 WHERE pwd = '$mdp_md5'") or die(mysql_error());
     
    					header('Content-Transfer-Encoding: binary'); //Transfert en binaire (fichier)
    					header("Content-Type: application/force-download");
    					header('Content-Disposition: attachment; filename="'.$donnees["Nom_final"].'"'); //Nom du fichier
    					readfile($donnees['lien']);
    				}
    				else
    				{	
    					echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
    					echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
    					echo "<head>";
    					echo "<meta http-equiv=\"Content-Type\" content=\"html/css; charset=utf-8\" />";
    					echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"./design.css\" title=\"default\" media=\"screen\" />";
    					echo "</meta>";
    					echo "</head>";
    					echo "<body>";
    					echo "<h1>Attention, le fichier que vous tentez de telecharger a ete supprimer !<span></span></h1>";
    					echo "<div class=\"liens2\">";
    					echo "<a href=\"./\">Essayez &agrave nouveau</a><br><br></div>";
    					echo "</div>";
    					echo "</body>";
    					echo "</html>";
    				}
    			}
    		}
    	}
    	else
    	{
    		echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">";
    		echo "<html xmlns=\"http://www.w3.org/1999/xhtml\">";
    		echo "<head>";
    		echo "<meta http-equiv=\"Content-Type\" content=\"html/css; charset=utf-8\" />";
    		echo "<link rel=\"stylesheet\" type=\"text/css\" href=\"./design.css\" title=\"default\" media=\"screen\" />";
    		echo "<title>Css</title>";
    		echo "</meta>";
    		echo "</head>";
    		echo "<body>";
    		echo "<h1>Attention, le mot de passe saisi est incorrect !<span></span></h1>";
    		echo "</div>";
    		echo "</body>";
    		echo "</html>";
    	}
     
     
    ?>
    Je suis donc complètement bloqué. J'espère que vous pourrez m'aider.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Que contient le fichier que tu recupères si tu l'ouvres avec un editeur de texte ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    En effet cela ne m'était même pas venu à l'idée !!
    J'ai un message d'erreur :
    <br />
    <b>Fatal error</b>: Allowed memory size of 536870912 bytes exhausted (tried to allocate 564674561 bytes) in <b>C:\Inetpub\wwwroot\Download\download.php</b> on line <b>42</b><br />
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  4. #4
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    Voici la ligne exacte qui est mise en cause :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    readfile($donnees['lien']);
    Y a t'il un moyen de corriger cette erreur ?
    Est ce que cela est du à la configuration de mon serveur?
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  5. #5
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Dans la documentation, il y a des exemples de fonctions pour eviter de dépasser la limite mémoire sur la lecture de gros fichiers :
    http://www.php.net/manual/fr/functio...file.php#54295
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  6. #6
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    je vais me pencher la dessus.
    Je vous tiens au courant de l'avancé.
    Merci pour ce lien.
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

  7. #7
    Membre éprouvé Avatar de Shinji62
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    135
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 135
    Par défaut
    Ah mon avis, en plus de la memoire allouée tu dois avoir aussi le temps d'exécution du script qui doit rentré en compte puisque le script mets autant de temps a être exécuté qu'a être téléchargé :

    http://fr2.php.net/manual/fr/functio...time-limit.php

    Pour les gros fichiers tu peux utiliser un mod apache :
    http://tn123.ath.cx/mod_xsendfile/

  8. #8
    Expert confirmé
    Avatar de ludojojo
    Homme Profil pro
    Développeur SharePoint
    Inscrit en
    Avril 2008
    Messages
    2 967
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur SharePoint
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 967
    Billets dans le blog
    5
    Par défaut
    En effet le problème venait bien du temps d'execution du script, celui-ci augmenté plus de problème.
    Merci beaucoup
    Aide les autres...
    Et les autres t'aideront....
    Mon site DVP
    N'oubliez pas de consulter les FAQ SharePoint et les cours et tutoriels SharePoint

    N'oubliez pas de voter pour les messages dont la réponse est pertinente

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Téléchargement fichier impossible
    Par chrisjames dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 22/08/2012, 09h28
  2. Téléchargement de fichier
    Par casafa dans le forum Web & réseau
    Réponses: 21
    Dernier message: 18/06/2009, 23h34
  3. Réponses: 6
    Dernier message: 15/12/2006, 16h03
  4. [SOAP][XML][C#.NET] Téléchargement de fichiers XML
    Par juniorAl dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 27/06/2005, 09h35
  5. suppression de fichier impossible (windows xp)
    Par annecyrond dans le forum Windows XP
    Réponses: 8
    Dernier message: 10/03/2005, 11h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo