Problème de droits pour touch(), chmod

Problème de droits pour touch(), chmod - PHP - Programmation

Marsh Posté le 20-09-2005 à 15:34:08    

Salut à tous, je soihaite modifier des dates de modification de fichier à partir d'une page PHP.
J'utilise donc la fonction touch() prévue à cet effet, oui mais voilà j'ai l'erreur suivante :  
touch(): Utime failed: Permission denied
 
Même si je mets tous les droits à mes fichiers, j'utilise la fonction chmod() qui provoque ce message :  
chmod(): Operation not permitted
 
Alors comment faire, comment faut-il faire pour dire au php que dans mon repertoire cible, il a tous les droits?
 
Merci car je suis coincé.

Reply

Marsh Posté le 20-09-2005 à 15:34:08   

Reply

Marsh Posté le 20-09-2005 à 15:35:30    

est ce que tu es sur que le chemin du fichier est bon dans ton script php ? car c'est sovuent un peu le bordel et je me souviens avoir eu un pb similaire avec des unlink, et ca venai du path

Reply

Marsh Posté le 20-09-2005 à 15:38:48    

Il me semble que ce genre de fonctions peut être désactivé via le php.ini, aussi...à vérifier.


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 15:48:49    

Oui mr_mat, mes fichiers sont au même niveau que mon script (.)
skeye je ne cherche pas à désactivé ces fonctions mais plutôt qu'elles fonctionnent

Reply

Marsh Posté le 20-09-2005 à 15:49:28    

i'n'i a écrit :

skeye je ne cherche pas à désactivé ces fonctions mais plutôt qu'elles fonctionnent


 
ben justement, vérifie que c'est pas déjà désactivé...[:dawa]


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 15:50:32    

et pour les chemins, je te conseille de toujours travailler en chemins absolus, ça te permettra de toujours pouvoir vérifier facilement que tu te plantes pas...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 20-09-2005 à 16:46:22    

ok! mais je ne trouve qu'un fichier /etc/php.ini.default, pas de php.ini et quand j'ouvre se fichier, ça ne par le pas de touch() ou de chmod() :(

Reply

Marsh Posté le 20-09-2005 à 17:01:05    

Est ce que php est propriétaire du fichier?
Fait le teste en faisant un script qui génère un fichier et fais un touch dessus. S'il y a pas de souci c'est que sa vient de là. S'il y a un probleme de permission c'est que tu pointes bien sur le fichier.


Message édité par Berceker United le 20-09-2005 à 17:02:13
Reply

Marsh Posté le 20-09-2005 à 17:12:01    

Pour le php.ini, c'est bon, il faut renommer php.ini.default en php.ini et le mettre dans le répertoire courant. J'ai lu ce fichier (où ça parle de fonctions et aucune n'est désactivée car j'ai safety_mode = off.
 
Pour répondre à Berceker United, si touch() ne trouve pas le fichier spécifier, elle le créer. Or quand je fais ça, j'ai le message touch(): Unable to create file !

Reply

Marsh Posté le 20-09-2005 à 17:39:34    

Je me suis mis sous windows (j'étais sous macOS), et j'ai réussit à faire un touch pour créer un fichier qui n'existait pas, mais ne n'arrive toujours pas à changer une date de modification, y compris sur le fichier que j'ai créé en php !  
 
touch(): Utime failed: Permission denied

Reply

Marsh Posté le 20-09-2005 à 17:39:34   

Reply

Marsh Posté le 20-09-2005 à 17:55:39    

Bizarre, sous win j'ai déjà utilisé cette fonction et elle fonctionnait de mon coté. :??:

Reply

Marsh Posté le 20-09-2005 à 18:01:14    

tu l'as utilisée pour modifier une date de modification ou pour créer un fichier?

Reply

Marsh Posté le 20-09-2005 à 18:03:15    

pour modifier la date.

Reply

Marsh Posté le 20-09-2005 à 18:46:31    

t as fait comment!?
tu utilisais easyphp? (moi c'est mon cas)
t'a ligne de code étais de quel forme?
ton fichier dans quel répertoire?

Reply

Marsh Posté le 20-09-2005 à 19:10:26    

Rien a voir avec l'une de tes indications. Regarde si ton fichier n'est pas en lecture seul.

Reply

Marsh Posté le 20-09-2005 à 19:16:46    

Non non, lecture seule est bien DEcoché

Reply

Marsh Posté le 22-09-2005 à 15:55:08    

ça y est j'y suis arrivé, j'arrive à faire un touch sans paramêtre, qui me met donc la date de modification du fichier à aujourd'hui, mais que sous windows, tant pis, je me passerai de mon mac pour faire mon appli.
 
Par contre touch est prototypée comme ceci : bool touch (string filename; int time , int atime) ou time est la date et atime l'heure souhaitée.
 
Mais en quels formats sont elles?
 
si je veux faire en sorte de modifier mon fichier pour qu'il soit daté du 13 fevrier 1999 à 14h30, quelle(s) fonction(s) peuvent me permettre de convertir ces date & heure et obtenir 2 integer?
 
Merci

Reply

Marsh Posté le 22-09-2005 à 17:52:23    

Il y a un topic ici spécialement sur les dates.
Edit : http://forum.hardware.fr/hardwaref [...] 9104-1.htm


Message édité par Berceker United le 22-09-2005 à 17:53:14
Reply

Marsh Posté le 23-09-2005 à 12:57:16    

ok, je vous remercie pour vos réponses
 ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed