header & download [ - Job's Done - ]

header & download [ - Job's Done - ] - PHP - Programmation

Marsh Posté le 15-12-2002 à 18:59:48    

j'ai ça qui est un include dans mon fichier index.php :  

Code :
  1. <?
  2. header("Content-type: application/zip" );
  3. header("Content-Disposition: attachment; filename=files/$file.zip" );
  4. $sql=mysql_query("update v5_skins set download='$nb' where nom='$file'" );
  5. ?>


 
il est dans une condition  

Code :
  1. if($id==4 && $dl==1){include ("dl.txt" );}


 
je veux juste faire une incrémentation sur le nombre de dl effectué pour le fichier cliqué dont voici l'url :  

<a href=\"index.php?id=4&dl=1&nb=".($skin[7]+1)."&file=".$skin[0]."\">download</a>


 
le truc c'est que quand je fait ça, il me demande de télécharger le fichier index.php... (voir post suivant pour le code de index.php)


Message édité par xkamui le 15-12-2002 à 20:11:23
Reply

Marsh Posté le 15-12-2002 à 18:59:48   

Reply

Marsh Posté le 15-12-2002 à 19:00:01    

Code :
  1. <?
  2. /* Connexion à la base de données */
  3. include ("inc/cnx.txt" );
  4. if ($id==4 && $dl==1){include("url/skins/dl.txt" );}
  5. echo '<?xml version="1.1" encoding="iso-8859-1"?>';
  6. /* Valeurs par défaut */
  7. if (!$lang){$lang="fr";}
  8. if (!$color){$color="blue";}
  9. if (!$id){$id="0";}
  10. ?>
  11. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//FR" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  12. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  13. <head>
  14. <title>xkamui.com v.5</title>
  15. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  16. <?
  17. /* Définition des variables */
  18. $rub=array("news","pics","walls","vids","skins","lyrics","utils","forum","guest","letter","contact" );
  19. ?>
  20. <script language="JavaScript" src="script/script.js" type="text/javascript"></script>
  21. <link rel="stylesheet" href="http://xkamui.com.free.fr/v5/style/main.css" type="text/css"/>
  22. <?
  23. /* style en fonction de la couleur */
  24. echo "<link rel=\"stylesheet\" href=\"http://xkamui.com.free.fr/v5/style/".$color.".css\" type=\"text/css\"/>";
  25. ?>
  26. </head>
  27. <body>
  28. <table class="tab-main" summary="tab-main">
  29. <tr>
  30.   <td class="td-main-1"></td>
  31.   <td class="td-main-2">
  32.  
  33.   <table class="tab-all" summary="tab-all">
  34.    <tr>
  35.     <td class="td-bann">
  36. <!-- BANNIERRE -->
  37.     <table class="tab-top" summary="tab-top">
  38.      <tr>
  39.       <td class="td-top">
  40.      
  41.       <?
  42.       echo "
  43.       <table class=\"tab-ban\" summary=\"tab-ban\">
  44.        <tr>
  45.         <td class=\"td-ban-1\"><img src=\"img/index/".$color."-ban.png\" alt=\"www.xkamui.com\" /></td>
  46.         <td class=\"td-ban-2\">hello</td>
  47.       </table>
  48.       ";
  49.       ?>
  50.      
  51.       </td>
  52.      </tr>
  53.     </table>
  54.    
  55.     </td>
  56.    </tr>
  57.    <tr>
  58.     <td class="td-menu">
  59. <!-- BARRE DE MENU -->
  60.     <table class="tab-menubar" summary="tab-menubar">
  61.      <tr>
  62.       <td class="td-extrem"><img src="img/menubar/menu-extrem.png" alt="img-extrem-start" /></td>
  63.    <?
  64.    for ($i=0;$i<count($rub);$i++)
  65.     {
  66.     if ($id==$i){$picstatus="on";$piclink1="";$piclink2="";} else {$picstatus="off";$piclink1="<a href=\"index.php?id=".$i."\">";$piclink2="</a>";}
  67.     echo "
  68.       <td class=\"td-thumbs\">".$piclink1."<img src=\"img//menubar/menubar-".$color."/".$rub[$i]."-".$picstatus.".png\" class=\"img-thumbs\" alt=\"img-".$rub[$i]."\" />".$piclink2."</td>
  69.     ";
  70.     }
  71.    ?>
  72.       <td class="td-extrem"><img src="img/menubar/menu-extrem.png" alt="img-extrem-end" /></td>
  73.      </tr>
  74.     </table>
  75.    
  76.     </td>
  77.    </tr>
  78.    <tr>
  79.     <td class="td-txts">
  80. <!-- CONTENU -->
  81.     <table class="tab-content" summary="tab-content">
  82.      <tr>
  83.       <td class="td-content">
  84.    
  85.       <? include ("url/".$rub[$id]."/".$rub[$id].".txt" ); ?>
  86.    
  87.       </td>
  88.      </tr>
  89.     </table>
  90.    
  91.     </td>
  92.    </tr>
  93.    <tr>
  94.     <td class="td-copy">
  95. <!-- COPYRIGHT -->
  96.     <table class="tab-bottom" summary="tab-bottom">
  97.      <tr>
  98.       <td class="td-bottom">copy copy</td>
  99.      </tr>
  100.     </table>
  101.    
  102.     </td>
  103.    </tr>
  104.   </table>
  105.  
  106.   </td>
  107.   <td class="td-main-3"></td>
  108. </tr>
  109. </table>
  110. </body>
  111. </html>


Message édité par xkamui le 15-12-2002 à 19:00:12
Reply

Marsh Posté le 15-12-2002 à 19:37:30    

atention, jai jamais fait ca, mais il me semble quapres
 
header("Content-Disposition: attachment; filename=files/$file.zip" );  
 
il faut que tu lises "files/$file.zip" pr quil soit effectivement sauvegardé. Le Content Disposition permet de donner un nom au fichier que tu uploads.
 
dc peut etre  
header(content...
readfile(...
exit()
 
jai fait ca je teste autre chose


TEST.php
<?php  
   
  header("Content-type: application/zip" );
  header("Content-Disposition: attachment; filename=image.zip" );
   
  readfile("truc.zip" );
 
 
?>


 
si je rajoute du code avant le readline, ca me fais sauvegarger mon test.php.
Fais tes calculs ... et redirige via un header"location:" vers un fichier download.php?file=$file  qui comportera les 3 lignes.


Message édité par beleg le 15-12-2002 à 19:43:32
Reply

Marsh Posté le 15-12-2002 à 19:41:57    

non, ça marche pas, même avec le readfile().
 
il me demande toujours si je veux enregistrer le fichier 'index.php'

Reply

Marsh Posté le 15-12-2002 à 19:44:37    

lis les deux dernieres lignes

Reply

Marsh Posté le 15-12-2002 à 19:44:47    

le truc c'est que, ça marche quand je met

Code :
  1. header("Content-type: application/zip" );
  2. header("Content-Disposition: attachment; filename=$file.zip" );
  3. readfile("$file.zip" );


 
mais pas quand je met

Code :
  1. header("Content-type: application/zip" );
  2. header("Content-Disposition: attachment; filename=url/skins/files/$file.zip" );
  3. readfile("url/skins/files/$file.zip" );

Reply

Marsh Posté le 15-12-2002 à 19:48:16    

header("Content-Disposition: attachment; filename=url/skins/files/$file.zip" );
     
   
 
tu lis, c pour indiquer un nom de fichier, pas un chemin, c pour le nom du fichier que les visiteurs DL

Reply

Marsh Posté le 15-12-2002 à 20:11:02    

ok, c'est bon, voilà ce que j'ai fait pour que ça marche :  
 

Code :
  1. <?
  2. header("Content-type: application/zip" );
  3. header("Content-Disposition: attachment; filename=$file.zip" );
  4. readfile("url/skins/files/$file.zip" );
  5. $sql=mysql_query("update v5_skins set download='$nb' where nom='$file'" );
  6. ?>


 
concrétement, j'ai retiré le path complet dans le filename=... mais je l'ai laissé dans le readfile()
 
merci beleg

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed