Modifier chmod avec php ?
Résolu/Fermé
stefart
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
-
4 mars 2008 à 11:13
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008 - 6 mars 2008 à 08:43
stefart Messages postés 33 Date d'inscription jeudi 28 février 2008 Statut Membre Dernière intervention 10 juin 2008 - 6 mars 2008 à 08:43
A voir également:
- Modifier chmod avec php ?
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
- Modifier story facebook - Guide
- Comment modifier un pdf - Guide
- Modifier extension fichier - Guide
3 réponses
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
4 mars 2008 à 12:05
4 mars 2008 à 12:05
Bonjour,
Si ton droit sur le fichier est 600, cela veut dire que :
- le propriétaire du fichier possède le droit 6, c'est à dire lecture et écriture sur ce fichier (mais pas éxécution)
- les autres users du même groupe que le propriétaire n'ont aucun droit
- les users des groupes différents n'ont aucun droit sur le fichier
Si ton chmod ne fonctionne pas dans ton script PHP, il faut alors savoir comment est éxécuter ce script : est ce un script présent sur un site ? Auquel cas c'est l'utilisateur qui l'exécute lorsqu'il navigue sur ton site internet. Si oui, je pense que ton hébergeur, pour des raisons de sécurité, n'a pas défini les users de type 'navigateur' dans le même groupe que ton user à toi (de ton compte). Pour le coup, ils n'ont pas les droits d'écriture / lecture sur ces fichiers effectivement.
Si ton script s'éxécute en batch la nuit, il faut alors voir avec ton hébergeur dans quel groupe entre ce script, de façon à ce qu'il ai les droits pour lire / écrire. Mais à priori s'il peut écrire il peut forcément lire (ce serait bête d'avoir l'un sans l'autre...)
Si ce fichier n'est pas un fichier que tu as créé toi même, alors il faut voir avec ton hébergeur pour qu'il fasse le changement lui même, ou alors : ouvre ton logiciel de transfert FTP (ex : mozilla), et change les droits sur le fichier à la main.
Bon courage.
Si ton droit sur le fichier est 600, cela veut dire que :
- le propriétaire du fichier possède le droit 6, c'est à dire lecture et écriture sur ce fichier (mais pas éxécution)
- les autres users du même groupe que le propriétaire n'ont aucun droit
- les users des groupes différents n'ont aucun droit sur le fichier
Si ton chmod ne fonctionne pas dans ton script PHP, il faut alors savoir comment est éxécuter ce script : est ce un script présent sur un site ? Auquel cas c'est l'utilisateur qui l'exécute lorsqu'il navigue sur ton site internet. Si oui, je pense que ton hébergeur, pour des raisons de sécurité, n'a pas défini les users de type 'navigateur' dans le même groupe que ton user à toi (de ton compte). Pour le coup, ils n'ont pas les droits d'écriture / lecture sur ces fichiers effectivement.
Si ton script s'éxécute en batch la nuit, il faut alors voir avec ton hébergeur dans quel groupe entre ce script, de façon à ce qu'il ai les droits pour lire / écrire. Mais à priori s'il peut écrire il peut forcément lire (ce serait bête d'avoir l'un sans l'autre...)
Si ce fichier n'est pas un fichier que tu as créé toi même, alors il faut voir avec ton hébergeur pour qu'il fasse le changement lui même, ou alors : ouvre ton logiciel de transfert FTP (ex : mozilla), et change les droits sur le fichier à la main.
Bon courage.
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
4 mars 2008 à 13:12
4 mars 2008 à 13:12
Re,
Je pense savoir d'ou via le kwak.
Plutot que d'utiliser la méthode rename, utilise la fonction move_uploaded_file :
http://www.manuelphp.com/php/function.move-uploaded-file.php
Et une fois le fichier déplacer correctement, fais ton chmod sur ce nouveau fichier.
Ca devrait fonctionner correctement.
Je pense savoir d'ou via le kwak.
Plutot que d'utiliser la méthode rename, utilise la fonction move_uploaded_file :
http://www.manuelphp.com/php/function.move-uploaded-file.php
Et une fois le fichier déplacer correctement, fais ton chmod sur ce nouveau fichier.
Ca devrait fonctionner correctement.
stefart
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
4 mars 2008 à 14:00
4 mars 2008 à 14:00
oui merci mais puis je tous de même changer le nom du fichier avec la fonction move_uploaded_file() ?
parce que je ne souhaite pas que l'image uploader ai un nom bidon mais le login de l'utilisateur en prefixe + "_photo"
comme ca chaque image uploader porte un nom unique associé a un utilisateur.
Et aussi afin d'éviter l'écrasement d'autres image lors d'upload ultérieur.
Je sais pas si je suis bien clair dans mes explications... mais c'est pour ça que j'ai choisi la fonction rename !
tu pense que c'est possible avec la fonction move_uploaded_file() ?
parce que je ne souhaite pas que l'image uploader ai un nom bidon mais le login de l'utilisateur en prefixe + "_photo"
comme ca chaque image uploader porte un nom unique associé a un utilisateur.
Et aussi afin d'éviter l'écrasement d'autres image lors d'upload ultérieur.
Je sais pas si je suis bien clair dans mes explications... mais c'est pour ça que j'ai choisi la fonction rename !
tu pense que c'est possible avec la fonction move_uploaded_file() ?
stefart
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
4 mars 2008 à 15:00
4 mars 2008 à 15:00
Ok super ça marche impeccable !
avec la fonction move_uploaded_file()
le comprend pas bien a quoi sert la fonction rename() si la fonction move_uploaded_file() fai la meme chose ??!!
enfin en tous cas la plus de problème avec chmod
merci beaucoup a toi kij_82
avec la fonction move_uploaded_file()
le comprend pas bien a quoi sert la fonction rename() si la fonction move_uploaded_file() fai la meme chose ??!!
enfin en tous cas la plus de problème avec chmod
merci beaucoup a toi kij_82
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
4 mars 2008 à 15:20
4 mars 2008 à 15:20
La différence est la suivante : Rename comme son nom l'indique ne permet que de renommer le fichier (et non le déplacer)
Pourquoi le chmod ne fonctionnait pas alors ? Tout simplement parce que le chmod s'applique à un fichier "physique" (présent sur le disque). Or tu faisait un rename sur un fichier non physique (le fichier uploader n'est pas présent physiquement mais uniquement en mémoire je crois), du coup le chmod ne trouvait pas ton fichier.
La fonction move_uploaded_file elle permet de copier le fichier virtuel sur un emplacement physique, ce qui permet effectivement de faire un chmod derrière.
Si ton problème est résolu merci de cocher le tag "résolu" pour la discussion :)
Pourquoi le chmod ne fonctionnait pas alors ? Tout simplement parce que le chmod s'applique à un fichier "physique" (présent sur le disque). Or tu faisait un rename sur un fichier non physique (le fichier uploader n'est pas présent physiquement mais uniquement en mémoire je crois), du coup le chmod ne trouvait pas ton fichier.
La fonction move_uploaded_file elle permet de copier le fichier virtuel sur un emplacement physique, ce qui permet effectivement de faire un chmod derrière.
Si ton problème est résolu merci de cocher le tag "résolu" pour la discussion :)
stefart
Messages postés
33
Date d'inscription
jeudi 28 février 2008
Statut
Membre
Dernière intervention
10 juin 2008
6 mars 2008 à 08:43
6 mars 2008 à 08:43
ok merci encore pour le coup de main et l'éclaircissement sur la différence entre rename () et move_uploaded_file () je comprend mieux a présent.
a bientôt sur le forum p'etres! :)
a bientôt sur le forum p'etres! :)
4 mars 2008 à 12:33
Pour info voici le script que j'ai pris sur le net et légerment modifié :
Le problème est que le script propose au utilisateur d'ajouter une image a un système d'annonce
donc c'est pas très pratique de devoir modifier le chmod a la main via ftp apres.
en tous cas j'avai déjà fai le test en ftp et ca marche belle et bien
si seulement je savais comment en même temps uploader et modifier le chmod de l'image ca serai idéale !
si tu a une idée merci d'avance