Mettre à jour un archive zip sur un serveur
9 messages
• Page 1 sur 1
-

jer2701 - WRInaute occasionnel

- Messages: 338
- Inscription: 2 Sep 2005
Mettre à jour un archive zip sur un serveur
Bonjour à tous,
J'ai besoin de mettre à jour une quantité importante de répertoires zip sur un serveur, et je cherche à le faire avec PHP.
Mes recherches m'ont permis de créer un zip avec plusieurs documents à l'intérieur. J'ai du mal à trouver une solution pour mettre à jour l'archive sans être obligé de recompresser tous les fichiers déjà présents dans cette dite archive.
Je voudrais pouvoir ouvrir l'archive et soit y insérer un nouveau document à l'intérieur soit mettre à jour l'un des documents présents.
J'ouvre l'archive avec
$zip = zip_open("monrep/fichier.zip");
J'arrive aussi à lire son contenu
mais je n'arrive pas à la mettre à jour en conservant son contenu original.
Quelqu'un aurait une idée ?
J'ai essayé avec :
Mais ça ne fonctionne pas, je n'ai pas de retour
J'ai besoin de mettre à jour une quantité importante de répertoires zip sur un serveur, et je cherche à le faire avec PHP.
Mes recherches m'ont permis de créer un zip avec plusieurs documents à l'intérieur. J'ai du mal à trouver une solution pour mettre à jour l'archive sans être obligé de recompresser tous les fichiers déjà présents dans cette dite archive.
Je voudrais pouvoir ouvrir l'archive et soit y insérer un nouveau document à l'intérieur soit mettre à jour l'un des documents présents.
J'ouvre l'archive avec
$zip = zip_open("monrep/fichier.zip");
J'arrive aussi à lire son contenu
mais je n'arrive pas à la mettre à jour en conservant son contenu original.
Quelqu'un aurait une idée ?
J'ai essayé avec :
- Code: Tout sélectionner
$zip = new ZipArchive;
if ($zip->open('monrep/fichier.zip') === TRUE) {
$zip->addFile('mon_document.doc', 'newname.doc');
$zip->close();
echo 'ok';
} else {
echo 'échec';
}
Mais ça ne fonctionne pas, je n'ai pas de retour
- FloBaoti
- WRInaute impliqué

- Messages: 755
- Inscription: 30 Avr 2006
Re: Mettre à jour un archive zip sur un serveur
A tout hasard, disposes-tu des droits d'écriture sur le fichier, ou plus précisément, l'utilisateur (au sens système du terme) qui exécute PHP dispose-t-il des droits nécessaires sur ton fichier zip ?
-

jer2701 - WRInaute occasionnel

- Messages: 338
- Inscription: 2 Sep 2005
Re: Mettre à jour un archive zip sur un serveur
Au départ lorsque l'archive est créée, elle est en mode 644 sur le serveur
Que je force ou pas manuellement en mode 666 cela ne change rien.
On dirait que la commande :
ne s'exécute pas, car je n'ai aucune réponse de la condition.
Que je force ou pas manuellement en mode 666 cela ne change rien.
On dirait que la commande :
- Code: Tout sélectionner
$zip->addFile('mon_document.doc', 'newname.doc');
ne s'exécute pas, car je n'ai aucune réponse de la condition.
- FloBaoti
- WRInaute impliqué

- Messages: 755
- Inscription: 30 Avr 2006
Re: Mettre à jour un archive zip sur un serveur
Essaye en 777...
Et qu'est-ce que tu entends par "je n'ai aucune réponse de la condition" ? Ton code est censé afficher "ok" ou "échec", tu dois donc voir si le code a été exécuté ou non.
Et qu'est-ce que tu entends par "je n'ai aucune réponse de la condition" ? Ton code est censé afficher "ok" ou "échec", tu dois donc voir si le code a été exécuté ou non.
-

jer2701 - WRInaute occasionnel

- Messages: 338
- Inscription: 2 Sep 2005
Re: Mettre à jour un archive zip sur un serveur
Le répertoire "monrep" est en mode 777 en cascade sur tout son contenu (archive : fichier.zip)
Oui c'est exact, j'attends la réponse "ok" ou "échec" mais je n'obtient ni l'une ni l'autre ...
Quelque chose m'échappe mais je ne vois pas quoi ...
Oui c'est exact, j'attends la réponse "ok" ou "échec" mais je n'obtient ni l'une ni l'autre ...
Quelque chose m'échappe mais je ne vois pas quoi ...
-

jer2701 - WRInaute occasionnel

- Messages: 338
- Inscription: 2 Sep 2005
Re: Mettre à jour un archive zip sur un serveur
Aucune erreur affichée
après avoir fait pas mal d'essais
Rien que ce bout de code qui doit permettre l'ouverture de l'archive ne fonctionne pas.
Cela signifie que je n'arrive pas à ouvrir l'archive. (En prenant les problèmes dans l'ordre, le premier est déjà là ...)
Pourtant j'ai vérifié la syntaxe sur plusieurs sources elle est correcte ...
après avoir fait pas mal d'essais
- Code: Tout sélectionner
$zip = new ZipArchive;
$res = $zip->open('monrep/fichier.zip');
if ($res === TRUE)
{
print "ok";
}
else
{
print "nok";
}
Rien que ce bout de code qui doit permettre l'ouverture de l'archive ne fonctionne pas.
Cela signifie que je n'arrive pas à ouvrir l'archive. (En prenant les problèmes dans l'ordre, le premier est déjà là ...)
Pourtant j'ai vérifié la syntaxe sur plusieurs sources elle est correcte ...
-

jer2701 - WRInaute occasionnel

- Messages: 338
- Inscription: 2 Sep 2005
Re: Mettre à jour un archive zip sur un serveur
Je suis toujours dans l'impasse avec ce bout de code
:
[url]$zip = new ZipArchive;
$res = $zip->open('fichier.zip');
if ($res === TRUE)
{
print "ok";
}
else
{
print "nok";
}[/url]
Je n'obtient aucune réponse à cette condition.
Ce que je ne comprends pas c'est que tous les tutoriaux fournissent le même exemple avec ce même bout de code;
J'arrive bien à créer ou bien à remplacer l'archive mais impossible de la mettre à jour
[url]$zip = new ZipArchive;
$res = $zip->open('fichier.zip');
if ($res === TRUE)
{
print "ok";
}
else
{
print "nok";
}[/url]
Je n'obtient aucune réponse à cette condition.
Ce que je ne comprends pas c'est que tous les tutoriaux fournissent le même exemple avec ce même bout de code;
J'arrive bien à créer ou bien à remplacer l'archive mais impossible de la mettre à jour
- FloBaoti
- WRInaute impliqué

- Messages: 755
- Inscription: 30 Avr 2006
Re: Mettre à jour un archive zip sur un serveur
Essaye avec:
Et essaye d'afficher les erreurs, selon la doc, avec :
- Code: Tout sélectionner
$res = $zip->open($zip_file, ZIPARCHIVE::OVERWRITE);
Et essaye d'afficher les erreurs, selon la doc, avec :
- Code: Tout sélectionner
echo $zip->GetStatusString();
9 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Comment mettre en place un serveur et l'administrer ?
- ou mettre la redirection 301 sur quel serveur ?
- [Script] Pour charger un fichier et le mettre sur son serveur
- Site archive
- Web archive
- La BNF archive...
- WEB ARCHIVE DEAD .?
- Intérêts et inconvénients de Internet Archive
- No Archive (balise meta NOARCHIVE)
- Comment ne pas être archivé ni indexé ?
Consultez la description détaillée des produits ou services de Google suivants : Google News Archive Search
- Déterminer l'ancienneté d'un site
Cet outil vous permet de connaître une estimation de l'ancienneté d'un site : il fournit la date à laquelle Google l'a indexé la première fois (et la même chose pour archive.org). - Analyser la classe C de l'adresse IP
Cet outil vous permet de vérifier si plusieurs sites sont hébergés sur la même classe C (adresse IP du serveur). - Test HTTP header
Cet outil vous permet de connaître le code HTTP renvoyé par le serveur pour une page donnée.
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
