Autor Zpráva
Pesulap
Profil
Ahoj potřebuji změnit všechny soubory v adresáři na chmod 0666

zkoušel jsem tohle
<?
$handle=opendir('.'); 
while (false!==($file = readdir($handle))) 
{ 
    if ($file != "." && $file != "..") 
    { 
        chmod("./".$file,0666);
    } 
}
closedir($handle); 
?>

Ale nejde to ..

Nevíte jak na to, kde mám chybu ?
Díky


Moderátor Majkl578: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
AM_
Profil
Pesulap:
Ale nejde to .
je to rozbité
Taps
Profil
Pesulap:
zkus tento postup
<?
$handle=opendir('.'); 
while (false!==($file = readdir($handle))) 
{ 
    if ($file != "." && $file != "..") 
    { 
     $soubor[]=$file;
    } 
}
closedir($handle); 
foreach($soubor as $s){
chmod("nazev_nadrazeneho_adresare/".$s,0666);
}
?>
bohyn
Profil
Pesulap:
Minimálně bych změnil podmínku a kontroloval jestli je to soubor a ne adresář. Když totiž nastavíš adresáři práva 0666 tak se do něj nedostaneš.
<?
// tohle ti rekne jestli je nekde chyba, pak to zase vyhod
ini_set("error_reporting", E_ALL);
ini_set("display_errors", "on");
$handle=opendir('.'); 
while (false!==($file = readdir($handle))) 
{ 
    if (is_file($file)) 
    { 
        chmod("./".$file,0666);
    } 
}
closedir($handle); 
?>

Jinak taky PHP nemusí mít dostatečná oprávnění aby to změnil.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0