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

  FORUM HardWare.fr
  Programmation
  PHP

  compresser un répertoire ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

compresser un répertoire ???

n°214877
deadmethen​y
Posté le 16-09-2002 à 03:19:01  profilanswer
 

Salut,
 
Je cherche comment faire pour compresser un répertoire contenant divers fichiers et sous-répertoire (par exemple à la maniére d'un winzip...) avec php.
Merci pour votre aide.
 
@+
 
Dead.metheny

mood
Publicité
Posté le 16-09-2002 à 03:19:01  profilanswer
 

n°215190
nico168
Posté le 16-09-2002 à 16:30:49  profilanswer
 

system ("tar czf tonfichier.tgz /le/rep/à/zipper" );
 
ca marcherais pas ca ?

n°215198
deadmethen​y
Posté le 16-09-2002 à 16:39:18  profilanswer
 

avec une fonction system() ???

n°215203
nico168
Posté le 16-09-2002 à 16:46:16  profilanswer
 

ben ouai, la fonction system, elle sert a lancer une commande sur le serveur.
 
http://www.php.net/manual/en/function.system.php

n°215219
Dost67
Posté le 16-09-2002 à 17:35:25  profilanswer
 

www.nexen.net
 
Je sais pas si tu trouveras de quoi faire ce que tu dis mais en tout cas il y aura pour compresser ts les fichiers d'un répertoires.

n°215221
Dost67
Posté le 16-09-2002 à 17:37:49  profilanswer
 
n°215259
deadmethen​y
Posté le 16-09-2002 à 18:50:15  profilanswer
 

ok merci j'ai trouvé.
avec le module zlib c'est ok.
 
@+
 
dead.metheny

n°215905
T509
$job->GetJob(now)
Posté le 17-09-2002 à 19:59:29  profilanswer
 

il y a ceci mais j'ai pas testé :
 
 

Code :
  1. /*
  2. Ce script est un utilitaire de sauvegarde de l'intégralité d'un site internet
  3. Il permet de transférer sur un compte FTP l'intégralité des fichiers, ainsi
  4. que vos bases de données MySQL
  5. Chaque répertoire est sauvegardé individuellement dans un fichier compressé repertoire.tgz
  6. Le répertoire racine est sauvegardé en racine.tgz
  7. la(les) base(s) MySQL sont sauvegardée dans un fichier sqlbackup.tgz
  8. Ce script ne peut fonctionner que si votre hébergeur accepte la connexion à un FTP distant,
  9. et qu'il accepte de lancer des commandes système exec(). AUTANT DIRE QUE CELA  
  10. ELIMINE LA QUASI TOTALITE DES HEBERGEURS GRATUITS (Free, Multimania). Par contre,
  11. un compte gratuit peut faire l'affaire pour le ftp de destination.
  12.  
  13. Pour info, j'utilise se scipt pour sauvegarder un script hébergé sur OVH à destination
  14. d'un compte ftp FREE.
  15. La sauvegarde d'un petit site de 17Mo avec une base de 800Ko met un peu moins de 30 secondes.
  16. Si problême :  
  17.  
  18. Jérôme HUBERT
  19. jerome.hubert@jurasudfoot.com
  20. www.jurasudfoot.com  Le site des supporters de Jura Sud Football !
  21. www.phpleague.fr.st  gestion de championnats en PHP/MySQL
  22. ----------------------------------------------------------------------
  23. PARAMETRES DE CONFIGURATION
  24. J'ai intentionnellement laissé mes données (sauf passwords)
  25. pour que chacun s'y retrouve
  26. --------------------------------------------------------------------*/
  27. $local_path= "/home/jurasudff/www";     //chemin local sur votre serveur de la racine du site sans / à la fin
  28. $host= "sql1.ovh.net";        // votre serveur MySQL
  29. $base1= "jurasudffjsf";        //nom base MySQl N°1
  30. $base2= "jurasudffnuke";       // nom base MySQL N°2
  31. $user1= "jurasudffjsf";        //utilisateur base MySQl N°1
  32. $user2= "jurasudffnuke";       // utilisateur base MySQL N°2
  33. $passwd1 = "****";         //Password base MySQL N°1
  34. $passwd2= "****";          //Password base MySQL N°2
  35. $ftp_server = "ftpperso.free.fr";     //serveur ftp de destination
  36. $ftp_user_name = "jurasudfoot";     // identifiant ftp
  37. $ftp_user_pass = "manonleo";     //password ftp
  38. /*--------------------------------------------------------------------
  39. FIN DES PARAMETRES DE CONFIGURATION
  40. --------------------------------------------------------------------*/
  41. //CREATION TEMPORAIRE d'UN REPERTOIRE D'ACCUEIL POUR LES FICHIERS MYSQL
  42. exec("mkdir $local_path/sql" );
  43. //SAUVEGARDE DES BASES MYSQL --------------------------------------------
  44. exec("mysqldump -h$host -u$user1 -p$passwd1 $base1> sqlbackup/$base1.sql" );
  45. // EFFACEZ OU COMMENTEZ CETTE LIGNE SI VOUS N'AVEZ QU'UNE BASE MySQL
  46. @exec("mysqldump -h$host -u$user2 -p$passwd2 $base2> sqlbackup/$base2.sql" );
  47. //------------------------------------------------------------------------
  48. // CONNEXION FTP ---------------------------------------------------------
  49. $type = "FTP_ASCII";
  50.    echo "type de connexion $type <BR>";
  51.    $conn_id = ftp_connect("$ftp_server" );
  52.    $login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass" );
  53.    if ((!$conn_id) || (!$login_result))
  54.       {
  55.    echo "La connexion FTP a échoué!";
  56.  echo "Tentative de connexion à $ftp_server en tant que $ftp_user_name";
  57.  die;
  58.  }
  59.  else
  60.  {
  61.  echo "Connecté à $ftp_server, avec $ftp_user_name <BR>";
  62.  }
  63. // Ouverture du répertoire racine
  64. $link=opendir($local_path);
  65. while (gettype($name=readdir($link))==string  )
  66. {
  67. if (is_dir($name))
  68. {
  69. if ($name==".." )
  70. {continue;}
  71. $name=str_replace (".", "", $name);
  72. // SAUVEGARDE DES FICHIERS *.* DU REPERTOIRE RACINE
  73. if ($name=="" )
  74. {exec("tar cz *.* > racine.tgz" );
  75. $name="racine";
  76.  }
  77. //SAUVEGARDE DE CHAQUE SOUS REPERTOIRE DE LA RACINE
  78. if ($name<>"" )
  79. {exec("tar cz ".$name."/* > ".$name.".tgz" );
  80. }
  81. echo "<b>REPERTOIRE : ".$name."<br></b>";
  82.    $destination_file = $name.".tgz";
  83.    $source_file =  $name.".tgz";   
  84. // TRANSFERT FTP, C'EST LA QUE C'A BLOQUE SOUVENT......    
  85. $upload = ftp_put($conn_id, "$destination_file", "$source_file", $type);  
  86. if (!$upload)  
  87.       {  
  88.       echo "<h2 color=\"red\">Le téléchargement FTP échoué!</h2><hr>";
  89.       } else {
  90.       echo "Téléchargement de ".$source_file." sur ".$ftp_server."<b> ".$dir."</b> en ".$destination_file." <b><font color=#00FF00 size=3>OK</font></b><hr>";
  91.       }
  92. // EFFACEMENT DES FICHIERS ET REPERTOIRES TEMPORAIRE
  93. exec("rm *.tgz" );
  94. exec("rm $local_path/sqlbackup/*.sql" );
  95. exec("rmdir $local_path/sql" );
  96. }
  97. // ON NE COMPRESSE ET TRANSFERE QUE DES REPERTOIRES (et leur contenu), PAS DES FICHIERS SOLITAIRES
  98. if (is_file($name))
  99. {continue;}
  100. }
  101. // FERMETURE DU REPERTOIRE RACINE, DE LA CONNEXION FTP
  102. closedir($link);
  103. ftp_quit($conn_id);
  104. ?>


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
n°215913
--greg--
Posté le 17-09-2002 à 20:18:29  profilanswer
 

t509 a écrit a écrit :

 

Code :
  1. /*-----------------------------
  2. PARAMETRES DE CONFIGURATION
  3. J'ai intentionnellement laissé mes données (sauf passwords)
  4. pour que chacun s'y retrouve
  5. ------------------------------*/
  6. $ftp_server = "ftpperso.free.fr";     //serveur ftp de destination
  7. $ftp_user_name = "jurasudfoot";     // identifiant ftp
  8. $ftp_user_pass = "manonleo";     //password ftp





quoted:D


Message édité par --greg-- le 17-09-2002 à 20:18:54

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!
n°216028
T509
$job-&gt;GetJob(now)
Posté le 18-09-2002 à 01:01:30  profilanswer
 

J'avais vu, mais je ne modifie pas un code source mis gentillement à dispo ... :D


---------------
fermez vos topics résolus avec le tag [Résolu] en fin de titre. Merci !
mood
Publicité
Posté le 18-09-2002 à 01:01:30  profilanswer
 

n°216030
--greg--
Posté le 18-09-2002 à 01:36:43  profilanswer
 

t509 a écrit a écrit :

J'avais vu, mais je ne modifie pas un code source mis gentillement à dispo ... :D



j'adore "j'ai laissé expres mes données, sauf les mots de passe", et 10lignes plus loin... oh un mot de passe!
 
edit: ha tiens ça marche pas:(


Message édité par --greg-- le 18-09-2002 à 01:37:28

---------------
#19b | Mardi 18 Février 2003 - nous fêtons les Bernadette | contre le fleur icq!

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

  compresser un répertoire ???

 

Sujets relatifs
[PHP] Uploader le contenu d'un repertoireLister le contenu d'un répertoire tout assurant la portabilité
Compresser un fichier WAV en mp3[C/C++] Supprimer un répertoire (ou le vider) [Resolu]
lire le contenu d'un répertoire[PHP] "tarer" un repertoire
Connaitre le repertoire d'installation d'une application.cookie dans des repertoire diferent
Création de repertoire ? petit probleme !personne ne sait ?Programme en Perl qui peut compresser les données d'un répertoire ?
Plus de sujets relatifs à : compresser un répertoire ???


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