copier un fichier dans un répertoire zip sur ftp avec php

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

copier un fichier dans un répertoire zip sur ftp avec php

Message le Mer Fév 06, 2008 13:45

Bonjour,

je cherche à copier un fichier .doc dans un répertoire .zip sur serveur ftp
J'arrive bien à copier le fichier dans un répertoire non compressé mais je n'arrive pas à le copier directement dans un répertoire compressé, quelqu'un peut-il m'éclairer sur ce sujet ?

Merci par avance,

bixi
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: Mer Sep 19, 2007 8:48

Message le Mer Fév 06, 2008 13:50

Salut ;)

Tu passe par un logiciel FTP?

Si oui c'est normal, ce n'est pas faisable comme sur un bureau windows..

Soit tu reforme le zip sur windows et tu le reupload

Soit tu doit passer par de la ligne de commande sur ton serveur Nix
ou via language de script (genre php)

Il te faudra les librairies adequates cela dit


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5335
Inscription: Lun Juin 13, 2005 14:13

Message le Mer Fév 06, 2008 13:51



jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Mer Fév 06, 2008 13:52

Ah oui pardon j'ai oublié de préciser que je faisais ça avec Php depuis un script d'upload

bixi
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: Mer Sep 19, 2007 8:48

Message le Mer Fév 06, 2008 13:54

alors j'espere que tu es sur un dédié ou que tu as la librairie zlib d'installé.. sinon ..


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Mer Fév 06, 2008 13:56

malheureusement non je suis sur un mutualisé ... je vais voir pour configurer le php.ini


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Mer Fév 06, 2008 14:04

Bon apparement dans mon php.ini les extensions zlib sont bien activées ..

Je dois donc pouvoir le faire ? :roll:

bixi
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: Mer Sep 19, 2007 8:48

Message le Mer Fév 06, 2008 20:04

nickargall t'a donné de la lecture ;)


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Jeu Fév 07, 2008 12:15

Oui et j'ai bien fais la lecture ... :roll:

Cependant je reste avec un probléme, j'ai essayé d'excuter le code suivant :

$zip = new ZipArchive;
$res = $zip->open('test.zip');
print "res = $res"; // juste pour voir
if ($res === TRUE)
{
$zip->addFile($document, $document_name);
$zip->close();
echo "ok";
}
else
{
echo "échec";
}

et en fait il ne renvoit aucun résultat !?? 8O

je précise que les extensions zlib sont bien activés :!:


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5335
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Fév 07, 2008 12:18

C'est normal les trois signes "egal" dans ta condition ??? moi j'en aurais mis que deux.


Code: Tout sélectionner
$zip = new ZipArchive;
$res = $zip->open('test.zip');
print "res = $res"; // juste pour voir
if ($res == true)
{
$zip->addFile($document, $document_name);
$zip->close();
echo "ok";
}
else
{
echo "échec";
}


Sinon, ton "print $res" ne fonctionnera pas je pense, vu que $res n'est pas une chaine de caractères mais une variable obtenue avec la fonction open et qui contient donc plusieurs données (nom, type de fichier, taille, ...)


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Jeu Fév 07, 2008 12:19

oui c'est normal les signes égal .

OK que le $res s'affiche pas mais le résultat de la condition devrait lui s'afficher
Dernière édition par jer2701 le Jeu Fév 07, 2008 12:21, édité 1 fois.


nickargall
WRInaute accro
WRInaute accro
 
Messages: 5335
Inscription: Lun Juin 13, 2005 14:13

Message le Jeu Fév 07, 2008 12:21

bon ben alors je vois pas
ps: j'ai édité mon post pendant que tu répondais ;)


jer2701
WRInaute impliqué
WRInaute impliqué
 
Messages: 313
Inscription: Ven Sep 02, 2005 13:55

Message le Jeu Fév 07, 2008 12:27

info supplémentaire : Toutes les lignes de codes qui se situe après ce morceau de code ne s'execute pas ... :?

Si quelqu'un à déjà rencontré ce problème avec cette fonction ... 8O

bixi
WRInaute discret
WRInaute discret
 
Messages: 70
Inscription: Mer Sep 19, 2007 8:48

Message le Jeu Fév 07, 2008 13:32

a mon avis test.zip .. il ne le trouve tout simplement pas, tu dois devoir utiliser un chemin absolu..

genre /home/tonsite/www/zips/test.zip

edit: en lisant la doc ( :lol: ), un mec a posté une gestion plus pointu des codes d'erreurs, sert t'en pour savoir ce qui cloche :

Some older PHP versions used to return false if zip_open failed, and newer versions return the number of error (as integer), so instead of this:

$zip = zip_open($zip_file);
if ($zip) {
// consider zip file opened successfully
}

use this:

$zip = zip_open($zip_file);
if (is_resource($zip)) {
// consider zip file opened successfully
}

You may also use this function to get the error message by it's number:

function zipFileErrMsg($errno) {
// using constant name as a string to make this function PHP4 compatible
$zipFileFunctionsErrors = array(
'ZIPARCHIVE::ER_MULTIDISK' => 'Multi-disk zip archives not supported.',
'ZIPARCHIVE::ER_RENAME' => 'Renaming temporary file failed.',
'ZIPARCHIVE::ER_CLOSE' => 'Closing zip archive failed',
'ZIPARCHIVE::ER_SEEK' => 'Seek error',
'ZIPARCHIVE::ER_READ' => 'Read error',
'ZIPARCHIVE::ER_WRITE' => 'Write error',
'ZIPARCHIVE::ER_CRC' => 'CRC error',
'ZIPARCHIVE::ER_ZIPCLOSED' => 'Containing zip archive was closed',
'ZIPARCHIVE::ER_NOENT' => 'No such file.',
'ZIPARCHIVE::ER_EXISTS' => 'File already exists',
'ZIPARCHIVE::ER_OPEN' => 'Can\'t open file',
'ZIPARCHIVE::ER_TMPOPEN' => 'Failure to create temporary file.',
'ZIPARCHIVE::ER_ZLIB' => 'Zlib error',
'ZIPARCHIVE::ER_MEMORY' => 'Memory allocation failure',
'ZIPARCHIVE::ER_CHANGED' => 'Entry has been changed',
'ZIPARCHIVE::ER_COMPNOTSUPP' => 'Compression method not supported.',
'ZIPARCHIVE::ER_EOF' => 'Premature EOF',
'ZIPARCHIVE::ER_INVAL' => 'Invalid argument',
'ZIPARCHIVE::ER_NOZIP' => 'Not a zip archive',
'ZIPARCHIVE::ER_INTERNAL' => 'Internal error',
'ZIPARCHIVE::ER_INCONS' => 'Zip archive inconsistent',
'ZIPARCHIVE::ER_REMOVE' => 'Can\'t remove file',
'ZIPARCHIVE::ER_DELETED' => 'Entry has been deleted',
);
$errmsg = 'unknown';
foreach ($zipFileFunctionsErrors as $constName => $errorMessage) {
if (defined($constName) and constant($constName) === $errno) {
return 'Zip File Function error: '.$errorMessage;
}
}
return 'Zip File Function error: unknown';
}

$zip = zip_open($zip_file);
if (!is_resource($zip)) {
die(zipFileErrMsg($zip));
}

link : http://fr2.php.net/manual/fr/function.z ... .php#75840


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

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