ziper un fichier sur le serveur


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

ziper un fichier sur le serveur

Message le Sam Mar 24, 2007 15:01

Bonjour à tous,

Je cherche à créer un code php qui me serve à ziper un fichier existant dans un répertoire sur mon serveur ...

Je m'explique :

J'ai un fichier csv généré par php ( à partir de ma base de données )

je dois envoyer ce fichier php sous forme zip à un serveur ftp ...

donc avant de l'envoyer, je dois le zipper ...

Mais comment faire ?????

Merci d'avance de votre aide :P
Dernière édition par XenonDelee le Sam Mar 24, 2007 16:34, édité 2 fois.


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Message le Sam Mar 24, 2007 15:48

http://cyberzoide.developpez.com/php4/compress/zip/
trouvé en 2 secondes avec "zip php" sur Google........


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Sam Mar 24, 2007 16:31

Merci quand même de ta réponse aussi rapide ... peut-être un peu trop ... :mrgreen:

car ça ne répond pas vraiment à ma question :(

Je connais ce script et ça fait un moment que je cherche sur Google ( c'est quand même le minimum pour un membre WRI :wink: ) et autres mais je ne trouve pas ce que je cherche car

ce script crée un zip qu'il t'envoies ensuite via http mais il ne crée pas de zip dans un répertoire du serveur ( or c'est ce qui m'intéresse !)

Je posais la question au cas ou des gars un peu chevronné du php ( ça doit se trouver sur WRI :wink: ) avait une idée sur la façon dont il faut transformer ce script ou un autre pour arriver au résultat souhaité ....

A+


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19599
Inscription: 8 Aoû 2004

Message le Sam Mar 24, 2007 17:36

ben, il est créé avant la partie en-tête http. C'est tout :wink:


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Message le Sam Mar 24, 2007 17:47

cette class te créé un fichier archive.zip sur ton serveur il me semble, il te suffit de remplacer les lignes headers(..) par le code que tu veux :)


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Dim Mar 25, 2007 10:22

ben, il est créé avant la partie en-tête http. C'est tout


Ben non justement ... j'ai beau regarder dans le répertoire - y ' a rien :? :oops: :cry:

cette class te créé un fichier archive.zip sur ton serveur il me semble, il te suffit de remplacer les lignes headers(..) par le code que tu veux


justement t'as pas une idée de code ?????

A+ :P


Leonick
WRInaute accro
WRInaute accro
 
Messages: 19599
Inscription: 8 Aoû 2004

Message le Dim Mar 25, 2007 16:03

Code: Tout sélectionner
<?php
    // appel de la classe
    require_once('zip.lib.php');
    // nom du fichier à ajouter dans l'archive
    $filename = 'test.txt';
   
    // contenu du fichier
    $fp = fopen ($filename, 'r');
    $content = fread($fp, filesize($filename));
    fclose ($fp);
   
    // création d'un objet 'zipfile'
    $zip = new zipfile();
    // ajout du fichier dans cet objet
    $zip->addfile($content, $filename);
    // production de l'archive' Zip
    $archive = $zip->file();
   
voilà, c'est marqué // production de l'archive' Zip
donc là, l'archive est faite. C'est tout


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Dim Mar 25, 2007 18:49

Bonsoir

Merci de ta réponse mais c'est exactement ce que je fais !

D'ailleurs j'ai même repris ton code intégralement ...

et il ne se passe rien ...

Est-ce que l'hébergeur ( ici OVH ) peut empécher la création de .zip sur le serveur :?: :?: :?:

Ceci expliquerait cela car depuis hier je tourne en rond :cry:


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Dim Mar 25, 2007 21:29

Salut. Essaye ceci

Code: Tout sélectionner
<?php
    // appel de la classe
    require_once('zip.lib.php');
    // nom du fichier à ajouter dans l'archive
    $filename = 'test.txt';
   
    // contenu du fichier
    $fp = fopen ($filename, 'r');
    $content = fread($fp, filesize($filename));
    fclose ($fp);
   
    // création d'un objet 'zipfile'
    $zip = new zipfile();
    // ajout du fichier dans cet objet
    $zip->addfile($content, $filename);
    // production de l'archive' Zip
    $archive = $zip->file();
   
    // puis écriture sur le disque
    $fp = fopen( 'archives.zip', 'wb' );
    fwrite( $fp, $archive, strlen($archive) );
    fclose( $fp );

?>


N'oublie pas de d'autoriser php à écrire sur ton serveur ;)


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Lun Mar 26, 2007 18:44

Bonsoir

Merci julienr ...

Mais ça ne marche pas plus :cry:

Il y a bien un fichier zip sur le serveur ( c'est deja une améliration :P ) mais quand je veux le déziper avec winzip ( sur mon ordi après l'avoir uploader ) Winzip me dit que le fichier archive.zip est vide :cry:

est-ce que les zip seraient maudits ? :evil:

enfer et damnation :mrgreen:
Dernière édition par XenonDelee le Lun Mar 26, 2007 18:51, édité 1 fois.


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Lun Mar 26, 2007 18:51

mouai.
bon marche pas plus, devrait y avoir une erreur quelconque qui devrait s'afficher, non ?


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Lun Mar 26, 2007 18:54

J'ai edité le message précédent car après avoir fermé mon smartftp et après l'avoir rouvert, j'ai constaté que le fichier archive était bien là ...

pourtant j'avais bien lancé la commande actualiser avant de fermer et je ne voyais rien :x

par contre tu as vu que j'avais encore un problème, le zip est vide :!:

A+


julienr
WRInaute impliqué
WRInaute impliqué
 
Messages: 913
Inscription: 5 Aoû 2003

Message le Lun Mar 26, 2007 20:15

ah mais le fichier zip sur le serveur il est pas vide, je veux dire en ko ?


XenonDelee
WRInaute impliqué
WRInaute impliqué
 
Messages: 923
Inscription: 6 Avr 2004

Message le Mar Mar 27, 2007 2:44

Bonsoir julienr

ah mais le fichier zip sur le serveur il est pas vide, je veux dire en ko ?


Bonne question ... si :!: :cry:


NxtGen
WRInaute impliqué
WRInaute impliqué
 
Messages: 762
Inscription: 24 Oct 2006

Message le Mar Mar 27, 2007 4:37

Dans ce cas la c'est peut etre une erreur du chemin du fichier que tu veux mettre dedans non ?
Si le zip est créer, c'est que le script marche.
Si le zip est vide, c'est que le script n'a rien trouver a mettre dedans :)

ziper un fichier sur le serveur

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités