[PHP] droits sur fichier uploadé

Résolu/Fermé
Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 - 6 avril 2007 à 17:27
 E R A - 24 juil. 2008 à 22:20
Bonjour.

Lorsque, via PHP, je crée un fichier (fopen) dans le répetoire que mon hébergeur (OVH) m'a prêté, il a les droits -rw-r--r--, ce qui me permet de le lire par après. Cependant, si je crée un fichier par l'intermédiaire d'un envoi avec un formulaire HTML, j'utilise move_uploaded_file qui me sauvegarde le fichier à l'endroit désiré, mais avec cette fois-ci des droits différents, i.e. -rw-------. Avec ces droits (que je ne sais pas changer), je ne peux pas relire le fichier, ce qui fait que ce fichier est inutilisable.

Que puis-je faire?

Merci beaucoup.
A voir également:

15 réponses

Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 8
8 avril 2007 à 20:06
f1vincent avait proposé d'utilisé la commande chmod via system(), mais cela n'est pas permis chez mon hébergeur. Le résultat de n'importe quelle simple commande (bon j'ai essayé whoami) retourne l'entier 127. Cependant, j'apprends en vous lisant qu'il y a aussi la fonction chmod du PHP, ce que je ne savais (même) pas. Heureusement, mille fois heureusement, je peux l'utiliser et ça fonctionne: je peux librement rajouter le droit "lecture" au "groupe", ce qui me permet de lire les fichiers par après.

Problème résolu.

Un grand MERCI à tous ceux qui ont pris part à la discussion.

Cypselos.
2
Serge_La Messages postés 407 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
6 avril 2007 à 19:16
Tu peux changer les droits facilement avec ton ftp.
0
f1vincent Messages postés 65 Date d'inscription mercredi 20 septembre 2006 Statut Membre Dernière intervention 14 janvier 2008 2
6 avril 2007 à 20:23
Salut,
Tu peux peut être essayé la commande system de php avec en paramètre la commande chmod pour positionner les bons droits.
0
Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 8
6 avril 2007 à 21:46
Je pourrias changer les droits par FTP, mais devoir le faire chaque fois qu'un utilisateur upload un fichier, ça va moins bien. De plus, j'ai besoin d'ouvrir le fichier uploadé immédiatement après envoi pour y regarder certaines données, donc ça ne me convient pas du tout.

La commande system est bloquée, vu que je suis chez un hébergeur "public".

Merci.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Serge_La Messages postés 407 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
7 avril 2007 à 06:45
Il ne reste plus beaucoup d'options alors. Si le fichier téléchargé écrivait par dessus un fichier existant, il garderait les mêmes permissions. Si ton serveur hôte le permet.
0
Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 8
7 avril 2007 à 09:05
Généralement, chez les hébergeurs, le fichier uploadé a les bons droits? J'ai du mal à croire que je suis le premier à rencontrer le problème et qu'il n'y aurait pas de solution :s
0
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 1 565
7 avril 2007 à 10:47
mmh peut-être créer un fichier vide pour ensuite l'écraser par le nouveau fichier. :|
0
Serge_La Messages postés 407 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
7 avril 2007 à 17:57
Oui, c'est ça que je disais.
0
Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 8
7 avril 2007 à 19:19
Pardon Serge je t'ai lu trop vite. J'ai essayé. Créer un fichier vide me crée bien les bons droits, mais ensuite en faisant move_uploaded_file, le fichier reprend les mauvais droits, ceux qui m'empêchent de le lire par après.
0
Serge_La Messages postés 407 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
7 avril 2007 à 20:38
Désolé pour toi. Evidemment, avec tous les problèmes de spams, les hôtes sont très prudents. De plus, si n'importe qui pouvait ajouter des fichiers, tout le serveur pourrait avoir/créer des problèmes.

Tu devrais peut-être demander à tes visiteurs de te les envoyer par courriels.

Ou alors, avoir le serveur t'envoyer un courriel lorsqu'ils envoient le fichier pour que tu sois rapide avec le ftp.

Serge.
0
Cypselos Messages postés 64 Date d'inscription jeudi 17 juin 2004 Statut Membre Dernière intervention 5 juillet 2008 8
8 avril 2007 à 14:25
N'y aurait-il pas moyen alors de récupérer d'une manière ou d'une autre le contenu du fichier uploadé et de l'enregistrer moi-même sur via fopen (fonction avec laquelle, je le rappelle, je n'ai pas de limitation de droits)?
0
lefou4 Messages postés 73 Date d'inscription jeudi 21 décembre 2006 Statut Membre Dernière intervention 5 mai 2010 44
8 avril 2007 à 15:38
Comme la dit f1vincent, utilise la fonction php chmod tout de suite après le téléchargement via move_uploaded_file. Cela de permet de définir les droits pour le fichier sans devoir passer par le ftp.
0
Serge_La Messages postés 407 Date d'inscription lundi 19 mars 2007 Statut Membre Dernière intervention 3 mars 2009 47
8 avril 2007 à 18:26
Moi, j'ai déjà essayé chmod avec un script perl et ça ne fonctionnait pas. Pas certain que c'était dû à l'hôte, mais probable. Faut essayer, c'est sûr.
0
Bonjour,

J'ai moi aussi le meme soucis. J'ai essayer avec la fonction CHMOD, mais sans succès. Je pense maintenant faire un upload par FTP, mais je ne sais pas encore comment le faire. Je suis heureux de voir que je ne suis pas le seul.
0
BOnjour.
Je pense que votre probleme viens des move. Ovh a du donner les droit pour le dossier qu'il prete pour les upload et a mon avis il n'y a que la que tu pourra les lire.

Il doivent securiser un max, et nottament en mettant les upload de fichier autoriser avec lecture sur des serveurs spaciaux, ou dans des dossiers spéciaux sous surveillance.
la seule solution est que tu devra les lire la ou il sont uploadé.
0