[Résolu] chmod() et les variables $_GET['var']

chmod() et les variables $_GET['var'] [Résolu] - PHP - Programmation

Marsh Posté le 28-11-2007 à 00:11:33    

$oct=777

Code :
  1. $oct='0'.$oct;
  2. chmod (/site/, $oct);


ça ne marche pas!
 
allors que

Code :
  1. $oct='0777';
  2. chmod (/site/, $oct);


Fonctionne à merveille
 
Donc ma demande est:
Il y as t'il un fonction qui permet transformer ma variable numérique en variable numérique à 4 chiffre?
 
Merci de votre aide!
 
EDIT: reportez vous au 4eme message svp


Message édité par GostSn le 28-11-2007 à 02:36:40

---------------
http://www.free-tribes.org
Reply

Marsh Posté le 28-11-2007 à 00:11:33   

Reply

Marsh Posté le 28-11-2007 à 00:18:27    

Bien sûr ça fonctionne à merveille, c'est une variable string. Convertis donc ta variable numérique en string avant de faire mumuse avec ;)


---------------
Google isn't making us stupider, it's simply making us realise that omniscience is actually slightly boring. (Douglas Copland)
Reply

Marsh Posté le 28-11-2007 à 00:30:46    

heu..
merci bien, mais comment faire pour la convertir? il y as une fonction?


---------------
http://www.free-tribes.org
Reply

Marsh Posté le 28-11-2007 à 00:40:13    

Code :
  1. echo $oct=$_GET['oct'];
  2. echo $oct=settype($oct,"string" );
  3.  
  4. chmod ($rep.$_GET['file'], "$oct" ) or die('erreur pour le fichier '.$rep.$_GET['file'].', chmod proposé:'.$_GET['oct']);


ça me fait toujour des truc bizard: genre pour un chmod de 0040 ça me met le fichier en 0050 :pt1cable:
 
EDIT: non la ça me met 0001
 
$_GET['oct'] a la valeur de 0777 (monsite?oct=0777);

Code :
  1. $oct=$_GET['oct'];
  2. settype($oct,"string" );
  3. echo $oct;
  4.  
  5. chmod ($rep.$_GET['file'], $oct) or die('erreur pour le fichier '.$rep.$_GET['file'].', chmod proposé:'.$_GET['oct']);


ou

Code :
  1. $oct=$_GET['oct'];
  2.  
  3. chmod ($rep.$_GET['file'], $oct) or die('erreur pour le fichier '.$rep.$_GET['file'].', chmod proposé:'.$_GET['oct']);


ça me met un chmod de 1411!!!
 
allor que

Code :
  1. $oct=0777;
  2. chmod ($rep.$_GET['file'], $oct) or die('erreur pour le fichier '.$rep.$_GET['file'].', chmod proposé:'.$_GET['oct']);


marche correctement, il me met bien la valeur de 0777!
 :sweat:  
 
merci de votre aide!!
 
PS: le pb vien peut etre de la:
pourquoi echo 0777; a pour valeur 511????
 
EDIT:
si : monsite.php?oct=0511 le chmod passe bien a 0777!
c'est quoi la convertion a faire?


Message édité par GostSn le 28-11-2007 à 02:11:38

---------------
http://www.free-tribes.org
Reply

Marsh Posté le 28-11-2007 à 02:36:01    

Voila la réponse!

Code :
  1. $oct=$_GET['oct'];
  2. $oct=octdec($oct);
  3. chmod ($rep.$_GET['file'], $oct) or die('erreur pour le fichier '.$rep.$_GET['file'].', chmod proposé:'.$_GET['oct']);


 
pas évident de trouver lol
 
il suffisais de convertir la valeur décimal en octale octdec()
on dirrais que le fait de passer par $_GET ou $_POST convertie une valeur octale en décimal!
 
bref je me suis bien rendu fou, je me suis arraché tt les cheveux! j'ai même trouver mon propre post sur google mdr
je dormirais moins con encor une fois^^[:arkrom]


Message édité par GostSn le 28-11-2007 à 02:39:10

---------------
http://www.free-tribes.org
Reply

Sujets relatifs:

Leave a Replay

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