copier un fichier dans un répertoire zip sur ftp avec php
14 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
copier un fichier dans un répertoire zip sur ftp avec php
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,
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,
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
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
Oui et j'ai bien fais la lecture ...
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 !??
je précise que les extensions zlib sont bien activés
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 !??
je précise que les extensions zlib sont bien activés
-

nickargall - WRInaute accro

- Messages: 5335
- Inscription: Lun Juin 13, 2005 14:13
C'est normal les trois signes "egal" dans ta condition ??? moi j'en aurais mis que deux.
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, ...)
- 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, ...)
-

nickargall - WRInaute accro

- Messages: 5335
- Inscription: Lun Juin 13, 2005 14:13
bon ben alors je vois pas
ps: j'ai édité mon post pendant que tu répondais
ps: j'ai édité mon post pendant que tu répondais
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 (
), 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
genre /home/tonsite/www/zips/test.zip
edit: en lisant la doc (
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
14 messages • Page 1 sur 1
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 :
- Sortie de GoogleStats v2.01
- Où placer son fichier Sitemap ? A la racine ?
- Précisez vos recherches sur Google par la profondeur en répertoires
- Contraintes d'emplacement du Sitemap
- Les deux échelles du PageRank
- Les 2 échelles de PageRank : toolbar et DMOZ
- Yahoo! affiche son Web Rank
- La syndication de contenu : afficher un flux RSS sur son site
- Article sur le fichier .htaccess
- Une Google Dance annulée ?
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités



le forum