Stránka 1 z 1

[PHP] smazání všech souborů v adresáři

Napsal: 17 pro 2014, 14:21
od markoni
Zdravím
Mám takový problém potřebuji zmazat v jednom adresáři všechny soubory

Kód: Vybrat vše

$files = scandir($dir);
opendir($dir);
$files = array_pop(array_pop($files));
echo $files;
foreach ($files as $file) {
if (!is_dir($file)) {
unlink($file);
} else {
@rmdir($file) or removeDir($file);
}
 closedir($dir);
}

proč mne to nefunguje ? :smash: díky

Napsal: 17 pro 2014, 15:17
od petus
máš nastavený práva souboru? :)

Napsal: 17 pro 2014, 16:02
od markoni
Na ty práva souborů jsem bral v potaz práva jsou nastavena na 644 ale když dám absolutní cestu tak ten soubor se smaže práva nepráva , Já potřebuji dát do kronu řekneme jednou za den skript který smaže v adresáři všechny soubory díky

Napsal: 18 pro 2014, 22:27
od kasa
Proč to nejde v PHP, nevím, já to samé dělám Cronem tímhle shellovým příkazem (cesta je tam na tvrdo): rm -f -R /cesta/*

Napsal: 19 pro 2014, 10:38
od markoni
Vyřešeno tak to vypadá byl jsem na tento kód upozorněn po malé upravě funguje kdyby to někdo potřeboval tak je to tady díky

Kód: Vybrat vše

<?php
 
 $dirPath = "adresář ve kterém se mají smazat  všechny soubory";
    if (! is_dir($dirPath)) {
        throw new InvalidArgumentException("$dirPath must be a directory");
    }
    if (substr($dirPath, strlen($dirPath) - 1, 1) != '/') {
        $dirPath .= '/';
    }
    $files = glob($dirPath . '*', GLOB_MARK);
    foreach ($files as $file) {
        if (is_dir($file)) {
            self::deleteDir($file);
        } else {
            unlink($file);
        }
    }
   
   
?>

Napsal: 19 pro 2014, 10:46
od rnbw
kasa píše:Proč to nejde v PHP, nevím, já to samé dělám Cronem tímhle shellovým příkazem (cesta je tam na tvrdo): rm -f -R /cesta/*

Na spustanie z cronu je toto lepsie, netreba na to PHP. Ale nezmaze to subory zacinajuce bodkou (skryte).