Extraire des fichiers zip en PHP

Le
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
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Mickael Wolff
Le #16426121
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
granger.olivier
Le #16430811
On 28 juil, 15:24, 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 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
Olivier Miakinen
Le #16430921
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
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
Mickaël Wolff
Le #16431461
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
Mickaël Wolff
Le #16433461
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
Publicité
Poster une réponse
Anonyme