Téléchargement
illégal
Posez votre question Signaler

[PHP] droits sur fichier uploadé [Résolu]

Cypselos 64Messages postés 17 juin 2004Date d'inscription - Dernière réponse le 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.
Lire la suite 

[PHP] droits sur fichier uploadé »

15 réponses
Réponse
+2
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Tu peux changer les droits facilement avec ton ftp.
Ajouter un commentaire
Réponse
+0
moins plus
Salut,
Tu peux peut être essayé la commande system de php avec en paramètre la commande chmod pour positionner les bons droits.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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
Ajouter un commentaire
Réponse
+0
moins plus
mmh peut-être créer un fichier vide pour ensuite l'écraser par le nouveau fichier. :|
Ajouter un commentaire
Réponse
+0
moins plus
Oui, c'est ça que je disais.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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)?
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
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é.
Ajouter un commentaire
Ce document intitulé « [PHP] droits sur fichier uploadé » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?