Discussion:
Extraire des fichiers zip en PHP
(trop ancien pour répondre)
g***@gmail.com
2008-07-27 23:06:49 UTC
Permalink
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
Mickael Wolff
2008-07-28 13:24:02 UTC
Permalink
Post by g***@gmail.com
Bonjour !
Bonjour,
Post by g***@gmail.com
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
g***@gmail.com
2008-07-28 22:39:06 UTC
Permalink
Post by Mickael Wolff
Post by g***@gmail.com
Bonjour !
Bonjour,
Post by g***@gmail.com
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
- 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
2008-07-28 22:50:19 UTC
Permalink
Post by g***@gmail.com
[ 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.
Post by g***@gmail.com
-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.
Post by g***@gmail.com
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é.
Post by g***@gmail.com
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
2008-07-29 11:07:56 UTC
Permalink
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
Mickaël Wolff
2008-07-29 05:32:49 UTC
Permalink
Post by g***@gmail.com
si j'en crois les rwxrwxrwx , ces fichiers auraient des droits en
777, non ?
Oui, mais ça ne garanti pas l'accès :-D
Post by g***@gmail.com
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
Continuer la lecture sur narkive:
Loading...