Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1332 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP]Probleme de download de fichier débugger moi STP ! c pr les pro !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP]Probleme de download de fichier débugger moi STP ! c pr les pro !

n°350337
mims1664
3 / vert
Posté le 02-04-2003 à 16:53:25  profilanswer
 

voici le source :
 
<?
//connection a la bdd
require ("./common/ServerAdmin.class.php" );
require ("./common/Bdd.class.php" );
$bdd = new Bdd("./config.inc.php" );  
$bdd->connect();  
 
$req= "SELECT LIEN FROM EXT_DOCUMENT WHERE ID_DOCUMENT = '$id'";
$bdd->setQuery($req);
$res = $bdd->executeQuery();  
 
ca affiche le bon chemin qui est ./download/bonjour.pdf
echo"".StripSlashes($res[0][0])."";
 
//et la ca devrais permettre de telecharger le fichier ....
if (!is_file($res[0][0])) {
   header("Content-Type: application/download\n" );  
   header("Content-Disposition: attachment; filename=\"".$res[0][0]."\"" );  
   $fn=fopen("".$res[0][0]."" , "r" );  
   fpassthru($fn);  
}
 
header('location: ./partage_doc.php';);
?>
 
 
 
voici l'erreur qu'il m'affiche :  
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:16) in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 20
 
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:16) in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 21
 
Warning: fopen("./download/bonjour.pdf", "r" ) - No such file or directory in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 22
 
Warning: Supplied argument is not a valid File-Handle resource in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 23
 
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:16) in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 26

mood
Publicité
Posté le 02-04-2003 à 16:53:25  profilanswer
 

n°350338
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-04-2003 à 16:54:40  profilanswer
 

Oui c'est normal, la fonction header() ne peut pas être appelée après un echo ou un require.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°350340
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 16:56:37  profilanswer
 

et en plus ta condition est sans doute fausse :
if (!is_file($res[0][0])) {  
ce serait pas plutot
if (is_file($res[0][0])) {  
}
else{
 echo 'erreur';
}


---------------
...oups kernel error...
n°350341
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-04-2003 à 16:58:08  profilanswer
 

ethernal a écrit :

et en plus ta condition est sans doute fausse :
if (!is_file($res[0][0])) {  
ce serait pas plutot
if (is_file($res[0][0])) {  
}
else{
 echo 'erreur';
}


Ah ouais, aussi :D Sinon, t'expédies des répertoires ou des liens symboliques [:kunks]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°350344
mims1664
3 / vert
Posté le 02-04-2003 à 17:01:16  profilanswer
 

je teste tt ca merci les gars je vous tien o courant


Message édité par mims1664 le 02-04-2003 à 17:01:35
n°350354
mims1664
3 / vert
Posté le 02-04-2003 à 17:08:06  profilanswer
 

arf maintenant c un autre probleme, il me propose bien de telecharger le bon fichier, lorsque je vais pour l'enregistre il me demande le nom et par defaut c'est la nom de ma page donc "trt_dl" et dedans il me met l'erreur suivante :
 
 
<br>
<b>Warning</b>:  fopen("./download/bonjour.pdf", "r" ) - No such file or directory in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>5</b><br>
<br>
<b>Warning</b>:  Supplied argument is not a valid File-Handle resource in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>6</b><br>
<br>
<b>Warning</b>:  Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:5) in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>11</b><br>
<br>
<b>Warning</b>:  Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:5) in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>34</b><br>
 
 
 
 
 
mon cote dans le fichier trt_dl.php :
 
 
if (!is_file($adr)) {
   header("Content-Type: application/download\n" );  
   header("Content-Disposition: attachment; filename=\"$adr\"" );  
   $fn=fopen("$adr" , "r" );  
   fpassthru($fn);  
}else{
 echo"error";
 }
 
header('location: ./partage_doc.php';);
 
 
je passe les bon paramettre !


Message édité par mims1664 le 02-04-2003 à 17:09:45
n°350360
mims1664
3 / vert
Posté le 02-04-2003 à 17:11:30  profilanswer
 

et pour un fichier .jpg il me met directement l'erreur suivante:
 
error
Warning: Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:8) in /home/sites/site40/web/extranet_test/v1/trt_dl.php on line 11

n°350366
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-04-2003 à 17:14:00  profilanswer
 

mims1664 a écrit :

je passe les bon paramettre !


Oui mais pour le fopen(), mets donc le chemin ABSOLU vers ton fichier. L'interpréteur PHP se situant dans un autre répertoire que celui où tu stockes ton fichier, il va pas trouver avec un chemin relatif.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°350372
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:17:26  profilanswer
 

le plus simple est de faire ceci

Code :
  1. header("Content-type: application/download" );
  2. header("Content-Disposition: attachment; filename=".basename($res[0][0]));
  3. readfile($res[0][0]);


 
mais pour le path je ne sais pas, je pense que ça devrait être /tonchemin/tonfichier.pdf.


Message édité par ethernal le 02-04-2003 à 17:20:11

---------------
...oups kernel error...
n°350374
mims1664
3 / vert
Posté le 02-04-2003 à 17:18:01  profilanswer
 

ouais j'ai essayer avec le chemin entier le probleme est tjrs le même, même erreure!!
 
 
je teste ethernal ton truc


Message édité par mims1664 le 02-04-2003 à 17:19:49
mood
Publicité
Posté le 02-04-2003 à 17:18:01  profilanswer
 

n°350384
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:21:04  profilanswer
 

je viens de le modifier, teste avec la dernière version bien sûr ;)


---------------
...oups kernel error...
n°350389
mims1664
3 / vert
Posté le 02-04-2003 à 17:22:54  profilanswer
 

ethernal le probleme est le mm!! il me propose d'enregistrer le bon fichier et quand je fais enregistrer il me met tjrs le nom du fichier ou il y a le source : "trt_dl" avec dedans :
 
 
<br>
<b>Warning</b>:  readfile("" ) - Inappropriate ioctl for device in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>15</b><br>
<br>
<b>Warning</b>:  Cannot add header information - headers already sent by (output started at /home/sites/site40/web/extranet_test/v1/trt_dl.php:15) in <b>/home/sites/site40/web/extranet_test/v1/trt_dl.php</b> on line <b>17</b><br>
 
 
source :  
 
header("Content-type: application/download" );
header("Content-Disposition: attachment; filename=$adr" );
readfile($path);
 
header('location: ./partage_doc.php';);
 
 
$adr = ./download/bonjour.pdf


Message édité par mims1664 le 02-04-2003 à 17:24:35
n°350401
mims1664
3 / vert
Posté le 02-04-2003 à 17:29:02  profilanswer
 

je te remercie ethernal test trop fort !!!!!

n°350402
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:29:18  profilanswer
 

-- edit : ok visiblement c'est bon :) --
 
dernière version du script:

Code :
  1. header("Content-type: application/download" );
  2. header("Content-Disposition: attachment; filename=".basename($res[0][0]));
  3. readfile($res[0][0]);


Message édité par ethernal le 02-04-2003 à 17:37:13

---------------
...oups kernel error...
n°350410
mims1664
3 / vert
Posté le 02-04-2003 à 17:35:03  profilanswer
 

ca sert a koi les balises [g]?


Message édité par mims1664 le 02-04-2003 à 17:35:20
n°350413
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:36:11  profilanswer
 

c'est rien, je voulais mettre des parties de mon code en gras pour que tu vois les modifications que j'avais faites.
Ce forum les transforme en html <b></b> lorsque tu lis le post, mais visiblement pas/plus dans les balises [cpp][/cpp]


Message édité par ethernal le 02-04-2003 à 17:36:51

---------------
...oups kernel error...
n°350415
mims1664
3 / vert
Posté le 02-04-2003 à 17:37:17  profilanswer
 

ok c cool merci ca fonctionne nikel

n°350416
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:38:10  profilanswer
 

cool :)  :hello:


---------------
...oups kernel error...
n°350421
mims1664
3 / vert
Posté le 02-04-2003 à 17:43:31  profilanswer
 

je suis allé voir ton site !!! putain t'est motivé !! mais c vraiment une super bonne idée !! y'a du boulot ! bon courage !

n°350427
ethernal
Chercheur de vérité...
Posté le 02-04-2003 à 17:54:56  profilanswer
 

merci  :jap:  
le problème est que ce n'est certainement pas réaliste :(
Dans le cas ou tout fcterait (fo déjà que j'y arrive), mon serveur et ma connexion internet ne supporteront pas la charge.
Ce qui veut dire location d'hébergement (payant)... et là pfff :(


---------------
...oups kernel error...
n°350680
jagstang
Pa Capona ಠ_ಠ
Posté le 02-04-2003 à 23:25:26  profilanswer
 

ethernal a écrit :

merci  :jap:  
le problème est que ce n'est certainement pas réaliste :(
Dans le cas ou tout fcterait (fo déjà que j'y arrive), mon serveur et ma connexion internet ne supporteront pas la charge.
Ce qui veut dire location d'hébergement (payant)... et là pfff :(


 
Je suis allé voir aussi. J'adore ça :  
 
Presque toutes les pages sont W3C XHTML1.0
 
lol...
 
Non sinon j'ai l'impression que tu réinvente PHP-Nuke. Mais c'est un beau défi. Le problème c'est que tu ne pourras JAMAIS faire un modèle qui satisfera les client à 100%. Pense que le s gens qui veulent un site veulent un truc original et tout et tout...  
 

n°350727
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 02-04-2003 à 23:49:22  profilanswer
 

JagStang a écrit :


Non sinon j'ai l'impression que tu réinvente PHP-Nuke.


En même temps, c'est plutôt une bonne idée passke vu le niveau de sécurité dans PHP Nuke... [:vomi]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°350729
jagstang
Pa Capona ಠ_ಠ
Posté le 02-04-2003 à 23:50:34  profilanswer
 

Taiche a écrit :


En même temps, c'est plutôt une bonne idée passke vu le niveau de sécurité dans PHP Nuke... [:vomi]


 
lol c net...

n°350821
ethernal
Chercheur de vérité...
Posté le 03-04-2003 à 01:25:03  profilanswer
 

JagStang a écrit :


Presque toutes les pages sont W3C XHTML1.0


:lol:
je sais  :ange:  
mais récupérer des parties de code html (templates) pour les insérer les unes à la suite des autres avec en plus du code html généré par les bbcodes, c'est pas facile à gérer :(
 

JagStang a écrit :


Non sinon j'ai l'impression que tu réinvente PHP-Nuke.  


Pour la partie PHP, le but est évidemment de pouvoir insérer facilement un nouveuau module dans le site (en respectant son graphisme), comme PHP-Nuke.
 
Mais la différence réside dans le partage des données.
Pleins de gens ont des forums par ex mais il n'y a jamais personne dessus (comme sur le miens actuellement :D).  Ici, tu accèdes depuis un site A à un forum qui se trouve aussi sur un site B, le contenu des forums sont identiques, mais pas n'ont le même graphisme.  Les utilisateurs inscrit sur un forum peuvent poster depuis les 2 sites.  
Imagines 2 sites de jeux vidéos distincts, ils ont chacun un forum avec 3 personnes dessus et discutent des même choses.  Pq ne pas avoir un seul forum avec comme ici un peu de vie et d'animation plutôt qu'un forum avec 3 msgs/an ?
 
Le principe :
"tu veux un site ?"
--> tu choisis ce que tu veux (forum,...) et tu choisis un graphisme tout fait.
 
"Tu veux une interface qui te soit propre ?"
--> tu prends ton dreamwaver qui t'es si cher, je te file les templates HTML, tu les modifies comme tu veux.  Il n'y a pas une commande de PHP dedans, juste des tags (ex :{LOGIN}).  N'importe qui sait le faire.  Tu l'upload, ça rulez.
 
"Tu veux une langue en plus ?"
--> tu traduis le fichier de langue de ton site, tu l'upload, ça rulez.
 
Bon malheureusement, la partie admin n'est pas du tout développée :(  
Pour l'instant, je tente continuellement d'optimiser le code, voir de le refaire (voir  http://www.ethernal.be/work/ pour la dernière version)


---------------
...oups kernel error...
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP]Probleme de download de fichier débugger moi STP ! c pr les pro !

 

Sujets relatifs
[HTML] Problème avec la balise <table>[PHP] SQL !!
[PHP] $cellule$i : l'ordi il comprend pas !!!probleme de fichier include
[???]besoin d'aide téléchargerment d'un fichier depuis un siteDebutant PHP - comment procéder?
[mysql]probleme d'insertion pour mysqlpeut-on mettre un fichier comme BackGr dans un .CSS? < href=".....gif"
[PHP] Comment detecter une webcam et prendre une photo avec ? 
Plus de sujets relatifs à : [PHP]Probleme de download de fichier débugger moi STP ! c pr les pro !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR