pb pour faire un zip avec une page php

pb pour faire un zip avec une page php - PHP - Programmation

Marsh Posté le 04-12-2005 à 18:24:09    

Salut à tous,
Je vous explique mon problème, dans ma classe de BTS on mets nos fichiers de cours en commun sur un site web et apres on récupère tout les fichiers en cliquant sur un lien qui crée un fichier zip de l'ensemble des cours. Jusque là pas de problème sauf que lorsque j"heberge le site chez moi tout fonctionne mais lorsque je passe par un autre hebergeur les fichiers sont bien dans le fichier zip mais ils sont vides.
Je vous laisse le code source pour regarder:

Code :
  1. <?php
  2. session_start();
  3. include_once("tbs/tbs_class.php" );
  4. include_once("fonctions/session.php" );
  5. include_once("connect.php" );
  6. require_once("zip/zip.lib.php" );
  7. @$pseudo = $_SESSION['pseudo'];
  8. @$classe = $_SESSION['classe'];
  9. //------ connection à la base -------------------------------------------------
  10. $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
  11. mysql_select_db (BASE, $connexion);
  12. //-----------------------------------------------------------------------------
  13. $test_session = validation_session($pseudo);
  14. if ("$test_session" != "false" ){
  15.     @$dir = opendir("../$classe" );
  16.    
  17.     $zip = new zipfile();
  18.     while (@$fichier = readdir($dir))
  19.         {
  20.             if (ereg ("[a-z]", $fichier))
  21.             {
  22.                 @$dir1 = opendir("../$classe/$fichier" );
  23.                 while (@$fichier1 = readdir($dir1))
  24.                 {
  25.                     if (ereg ("[a-z,A-Z]", $fichier1))
  26.                     {
  27.                         $filename = "..\\$classe\\$fichier\\$fichier1";
  28.   //echo $filename;
  29.                         $fp = fopen ($filename, 'r');
  30.                         $content = fread($fp, filesize($filename));
  31.                         fclose ($fp);
  32.                         $zip->addfile($content, $filename);
  33.                         $archive = $zip->file();
  34.                         $texte = "synchronisation en cours";
  35.                     }
  36.                 }
  37.             }
  38.         }
  39.         header('Content-Type: application/x-zip');
  40.         header('Content-Disposition: inline; filename=synchro.zip');
  41.         echo $archive;
  42.         $lien = "choix.php";
  43.     closedir ($dir);
  44. }
  45. else{
  46.     $texte = "/!\ Accès non autorisé ...";
  47. $page = "preload/texte.htm";
  48.     $lien = "index.php";
  49. }
  50. $page = "preload/texte.htm";
  51. $lien = "choix.php";
  52. $TBS = new clsTinyButStrong ;
  53. $TBS->LoadTemplate('templates/type1.htm') ;
  54. $TBS->Show();
  55. ?>


 
voila merci a ceux qui pourraient m'aider .
lien vers le site :
http://www.discovery-software.info

Reply

Marsh Posté le 04-12-2005 à 18:24:09   

Reply

Marsh Posté le 07-12-2005 à 18:18:02    

ça serait pas l'instruction ligne 34 qui merdouillerait?

Code :
  1. $filename = "..\\$classe\\$fichier\\$fichier1";


les "\\", c'est pas terrible et sur un serveur Unix, je ne pense pas que ça ma marcher... Bilan des courses, je pense que tu références bien le nom des fichiers, mais la fonction fopen et fread doivent avoir un pb pour lire le contenu des fichiers.

Reply

Marsh Posté le 07-12-2005 à 18:27:43    

oui en effet ca viens de là !!!
merci

Reply

Sujets relatifs:

Leave a Replay

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