CHMOD avec le mode passé en POST ... - PHP - Programmation
Marsh Posté le 02-04-2004 à 17:47:34
Je pense que ceci doit marcher :
Code :
|
Marsh Posté le 02-04-2004 à 17:48:07
ReplyMarsh Posté le 02-04-2004 à 17:53:20
Ou alors pour avoir le $mode qui va bien tu fais ça :
Code :
|
En fait le truc c'est que le second paramètres de la fonction chmod doit être de type entier mais octal.
Or ce que tu reçoit dans le $_POST est une chaîne, qui convertie en entier décimal et non octal.
Je sais pas si je suis clair
Marsh Posté le 02-04-2004 à 17:54:09
d'apres la doc, chmod prend un entier. quoi qu'il en soit, c'est pas avec un eval pourri qu'on fait des conversions, y'a des fonctions expres pour ça.
Marsh Posté le 02-04-2004 à 18:01:41
the real moins moins a écrit : d'apres la doc, chmod prend un entier. quoi qu'il en soit, c'est pas avec un eval pourri qu'on fait des conversions, y'a des fonctions expres pour ça. |
Si tu lis la doc :
Il est à noter que le mode mode est considéré comme un nombre en notation octale. |
Tu dis que mes eval sont "pourri", j'attends ta proposition
Marsh Posté le 02-04-2004 à 18:03:08
Le problème vient du fait que PHP quand il transtype une chaine en entier il le fait en base 10 et pas en base 8
Marsh Posté le 02-04-2004 à 18:03:16
ratibus a écrit : Ou alors pour avoir le $mode qui va bien tu fais ça :
|
Cool ça marche
ratibus a aussi écrit un peu après : |
Si si.
Marsh Posté le 02-04-2004 à 18:08:28
Sinon ces 2 solutions marchent aussi (sans utiliser de eval pour faire plaisir à the real):
Code :
|
ou
Code :
|
Ma méthode avec le eval ne fonctionnant pas si il n'y a pas de 0 au début de la chaine donc je te conseille la fonction octdec()
Marsh Posté le 02-04-2004 à 18:13:11
Marsh Posté le 02-04-2004 à 18:17:54
En fait c'était dans le manuel php de chmod, fallait bien lire jusqu'en bas
Marsh Posté le 02-04-2004 à 18:25:16
ratibus a écrit : Sinon ces 2 solutions marchent aussi (sans utiliser de eval pour faire plaisir à the real):
|
ben voilà, c'est vachement plus propre ça
(j'étais en train de chercher )
Marsh Posté le 02-04-2004 à 17:34:20
J'essaie de me faire un petit util php pour faire des chmod ponctuels, et j'ai remarqué que :
$mode = $HTTP_POST_VARS["mode"];
chmod('fichier', $mode);
=> ne fonctionne pas
$mode = '0666';
chmod('fichier', $mode);
=> ne fonctionne pas
$mode = 0666;
chmod('fichier', $mode);
=> fonctionne
Autrement dit, la variable récupérée du formulaire est une chaîne et ça ne lui plaît pas. J'ai donc essayé ça, mais ça ne marche toujours pas :
$mode = $HTTP_POST_VARS["mode"];
chmod('fichier', (int)$mode);
Comment faire
---------------
Créez des alertes automatiques sur les annonces du CDA qui vous intéressent: http://www.cdalertes.fr - Twitter: @CDAlertes | Revue de ma Glycine Airman Base 22