Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Extraire des fichiers zip en PHP

5 réponses
Avatar
granger.olivier
Bonjour !

je me permet de vous demander conseil car je sèche depuis quelques
jours sur un problème :
- dans un site web je dois uploader un fichier zip vers le serveur,
sous PHP 5.1.6 et ensuite l'extraire dans un répertoire. ( si cela
fonctionne egalement sous PHP 4.x ce serait encore mieux ..)

Les nouveaux fichiers doivent écraser les anciens.

J'arrive bien a uploader le fichier, mais par contre pour ce qui est
de dezziper l'archive dans un répertoire , j'ai fait divers essais
avec pclzip... mais c'est la galère avec les droits sur les fichiers
extraits : impossible de les effacer , même par FTP : problème de
droits "access denied".

Connaissez vous une façon d'extraire un zip de façon simple et surtout
qui fonctionne ... je galère vraiment ...


Merci d'avance


Olivier

5 réponses

Avatar
Mickael Wolff
a écrit :
Bonjour !



Bonjour,

mais c'est la galère avec les droits sur les fichiers
extraits : impossible de les effacer , même par FTP : problème de
droits "access denied".



Le problème que tu rencontres n'a rien à voir avec PHP. Il faut que
tu configure le serveur web qui exécute tes script pour qu'il les
interprète sous ton identité.

Si tu ne peux pas modifier ça il y a alors deux cas de figures
possibles :
- le serveur web fonctionne comme super utilisateur. Dans ce cas,
tu peux changer le propriétaire du fichier uploadé, et de ceux
décompressés (avec chown)
- sinon, le seule moyen est de donner les droits de lecture et
d'écriture sur les fichiers extraits à tout le monde (avec chmod). Cette
méthode entraîne des problèmes de sécurité certains.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
granger.olivier
On 28 juil, 15:24, Mickael Wolff wrote:
a écrit :

> Bonjour !

Bonjour,

> mais c'est la galère avec les droits sur les fichiers
> extraits : impossible de les effacer , même par FTP : problème de
> droits "access denied".

Le problème que tu rencontres n'a rien à voir avec PHP. Il faut que
tu configure le serveur web qui exécute tes script pour qu'il les
interprète sous ton identité.

Si tu ne peux pas modifier ça il y a alors deux cas de figures
possibles :
- le serveur web fonctionne comme super utilisateur. Dans ce cas,
tu peux changer le propriétaire du fichier uploadé, et de ceux
décompressés (avec chown)
- sinon, le seule moyen est de donner les droits de lecture et
d'écriture sur les fichiers extraits à tout le monde (avec chmod). Cette
méthode entraîne des problèmes de sécurité certains.

--
Mickaël Wolff aka Lupus Michaelishttp://lupusmic.org




Merci pour ta réponse , mais aurais tu une réponse a cela :

je fais un FOLDER FILE qui me donne :

-rwxrwxrwx 1 apache apache 128 Apr 14 09:09 acceuil.php
-rwxrwxrwx 1 apache apache 64 Apr 14 09:41 ado.php

si j'en crois les rwxrwxrwx , ces fichiers auraient des droits en
777, non ?

si par FTP je fais un delete file :

550 acceuil.php Permission denied


Y'a un truc que j'ai pas compris

Amicalement


Olivier
Avatar
Olivier Miakinen
Le 29/07/2008 00:39, a écrit :

[ citation intégrale, y compris deux « Bonjour » et la signature ]





Merci de ne citer que ce qui est nécessaire. Voir par exemple
<http://www.usenet-fr.net/fur/usenet/repondre-sur-usenet.html>,
en particulier les paragraphes 3a et 3b.

Merci pour ta réponse , mais aurais tu une réponse a cela :

je fais un FOLDER FILE qui me donne :

-rwxrwxrwx 1 apache apache 128 Apr 14 09:09 acceuil.php
-rwxrwxrwx 1 apache apache 64 Apr 14 09:41 ado.php

si j'en crois les rwxrwxrwx , ces fichiers auraient des droits en
777, non ?



Oui. Pourvu que tu aies le droit d'accéder au répertoire, tu as donc le
droit de les lire, d'y écrire, et même de les exécuter pour peu que cela
ait un sens.

si par FTP je fais un delete file :

550 acceuil.php Permission denied



Pour créer un nouveau fichier dans un répertoire, ou supprimer un
fichier d'un répertoire, tu dois en plus avoir accès au répertoire en
écriture. Je suppose que c'est ça qui n'est pas vérifié.

Y'a un truc que j'ai pas compris



P.-S. : note à tout hasard que « accueil » ne s'écrit pas « acceuil ».

Cordialement,
--
Olivier Miakinen
Avatar
Mickaël Wolff
a écrit :

si j'en crois les rwxrwxrwx , ces fichiers auraient des droits en
777, non ?



Oui, mais ça ne garanti pas l'accès :-D

si par FTP je fais un delete file :

550 acceuil.php Permission denied



Il ce peut que le serveur ait SELinux d'activé, ou un mécanisme de
sécurité équivalent.

Il faut que tu demandes à ton hébergeur, ou s'il ne veut pas te
fournir de réponse, essayer de voir avec la doc et le forum de l'hébergeur.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Avatar
Mickaël Wolff
Olivier Miakinen a écrit :

> et même de les exécuter pour peu que cela ait un sens.

Dans certaines installation de PHP, par exemple lorsqu'on utilises
Plesk, les scripts PHP doivent être marqués exécutables (ou pas, je ne
sais plus). Sinon, ça ne marche pas.

--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org