Rechercher : dans
Par :

[PHP] droits sur fichier uploadé

Dernière réponse le 24 jui 2008 à 22:20:30 Cypselos, le 6 avr 2007 à 17:27:38 
 Signaler ce message aux modérateurs

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.

Configuration: Linux Debian
Mozilla 1.8.1.3

Meilleures réponses pour « [PHP] droits sur fichier uploadé » dans :
[PHP] Upload de fichiers Voir Le langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
[Vista] S'approprier un fichier dont l'accès est refusé VoirIl arrive souvent de vouloir modifier un fichier ou un dossier qui est bloqué car vous n'en êtes pas le propriétaire donc vous obtenez le message: "Accès refusé" quand vous voulez l'ouvrir ou déplacer un fichier dans ce dossier verrouillé. Deux...
L'arborescence du système de fichiers de Linux VoirLinux possède de nombreux répertoires, et ils ont chacun leur rôle. (Note: D'une distribution à l'autre, ces répertoires peuvent être différents.) Sous Windows, un fichier est un fichier. Sous Linux, un fichier peut représenter: un fichier, un...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
Installation de EasyPHP VoirIntroduction à EasyPHP Afin de faire fonctionner PHP, il est nécessaire à la base d'en télécharger les sources depuis un site spécialisé (par exemple PHP.net), puis de compiler celui-ci (ainsi que d'éditer les liens) afin de créer un fichier...

1

Serge_La, le 6 avr 2007 à 19:16:50

Tu peux changer les droits facilement avec ton ftp.

Répondre à Serge_La

2

f1vincent, le 6 avr 2007 à 20:23:34

Salut,
Tu peux peut être essayé la commande system de php avec en paramètre la commande chmod pour positionner les bons droits.

Répondre à f1vincent

3

Cypselos, le 6 avr 2007 à 21:46:14

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.

Répondre à Cypselos

4

Serge_La, le 7 avr 2007 à 06:45:42

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.

Répondre à Serge_La

5

Cypselos, le 7 avr 2007 à 09:05:14

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

Répondre à Cypselos

6

ThEBiShOp, le 7 avr 2007 à 10:47:48

Mmh peut-être créer un fichier vide pour ensuite l'écraser par le nouveau fichier. :|

Répondre à ThEBiShOp

7

Serge_La, le 7 avr 2007 à 17:57:26

Oui, c'est ça que je disais.

Répondre à Serge_La

8

Cypselos, le 7 avr 2007 à 19:19:17

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.

Répondre à Cypselos

9

Serge_La, le 7 avr 2007 à 20:38:49

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.

Répondre à Serge_La

10

Cypselos, le 8 avr 2007 à 14:25:53

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)?

Répondre à Cypselos

11

lefou4, le 8 avr 2007 à 15:38:21

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.

Répondre à lefou4

12

Serge_La, le 8 avr 2007 à 18:26:06

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.

Répondre à Serge_La

13

Cypselos, le 8 avr 2007 à 20:06:57

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.

Répondre à Cypselos

14

Dj.Ango, le 3 oct 2007 à 13:14:09

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.

Répondre à Dj.Ango

15

 E R A, le 24 jui 2008 à 22:20:30

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é.

Répondre à E R A
Collection CommentÇaMarche.net