Setare CHMOD cu permisiuni din GET
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
steell
- Mesaje:190
Setare CHMOD cu permisiuni din GET
Salut.
Incerc sa schimb permisiunile unui fisier, insa permisiunile sunt preluate dintr-o variabila $_GET.
Cod: Selectaţi tot
if (chmod($fisier, $_GET['permisiune'])) {
echo 'succes';
}
Daca scriu de exemplu 0777 si trimit prin $_GET, nu o sa seteze aceste permisiuni, va seta 0000, indiferent de ce scriu in acea variabila $_GET.
Am afisat tipul variabilei si zice ca este string, poate asta e problema.
Din cate am observat nu pot pune intre ghilimele permisiunile de exemplu: chmod($fisier, "0777")
Am incercat sa pun fiecare cifra in cate o variabila si apoi sa le concatenez insa tot nu merge.
steell
Mesaje:190
Am gasit raspunsul pe php.net, se pare ca atunci cand adaugam permisiunile preluate din variabile, sirul respectiv (care este octal) trebuie convertit in unul decimal. Puteti folosi acest script pentru a face asta:
Cod: Selectaţi tot
<?php
$owner = 7;
$group = 7;
$public = 7;
$mode = '0'.$owner.$group.$public;
$mode_dec = octdec($mode); // converteste din octal in decimal
chmod('fisier.txt', $mode_dec);
?>
Doar atunci cand adaugam permisiunile direct in functia chmod() putem sa le scriem in mod octal.
Exemplu:
MarPlo
Mesaje:4343
Salut
Asa am gasit si eu in comentariile date de utilizatori pe site-ul php.net , la pagina;
php.net/manual/en/function.chmod.php
se da ca solutie utilizarea in aceasta situatie a functiei octdec() .
Inncearca asa:
Cod: Selectaţi tot
if(chmod($fisier, octdec($_GET['permisiune']))) {
echo 'succes';
}
Subiecte similare
- Setare valori din array in select tag
JavaScript - jQuery - Ajax
Primul mesaj
Salut am un array cu orele de functionare
$data = array (
'0400' => '04:00 AM',
'0430' => '04:30 AM',
'0500' => '05:00 AM',
'0530'...
Ultimul mesaj
Testeaza urmatorul cod.
Daca ceva mai trebuie schimbat, incearca si tu sa modifici dupa cum stii, in functie de ce vrei sa obtii.
Open:...