| 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 |
#2 · Zasláno: 2. 5. 2010, 22:53:26
|
||
| Taps Profil |
#3 · Zasláno: 3. 5. 2010, 10:18:31 · Upravil/a: Taps
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 |
#4 · Zasláno: 3. 5. 2010, 15:05:25 · Upravil/a: bohyn
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. |
||
|
Časová prodleva: 15 let
|
|||
0
).