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

Počítače stolní, notebooky, tablety, tiskárny, scanery a vše, co nějak souvisí s PC

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

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

#1 Příspěvek 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
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
petus
Příspěvky: 594
Registrován: 12 led 2009, 00:00
Bydliště: Pelhřimov
Kontaktovat uživatele:

#2 Příspěvek od petus »

máš nastavený práva souboru? :)
Pokud něco chcete a neodpovídám,pošlete SZ :)
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, ESP8266, STM32, ESP32...)
Peťus
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#3 Příspěvek 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
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
kasa
Příspěvky: 205
Registrován: 24 bře 2010, 00:00

#4 Příspěvek 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/*
Uživatelský avatar
markoni
Příspěvky: 2312
Registrován: 30 říj 2006, 00:00
Bydliště: Poblíž Zlína
Kontaktovat uživatele:

#5 Příspěvek 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);
        }
    }
   
   
?>
Čím víc dál se snažím se učit tím poznávám že nic nevím .Poslední 2 roky mám kvadruparézu
Uživatelský avatar
rnbw
Příspěvky: 37416
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#6 Příspěvek 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).
Odpovědět

Zpět na „Výpočetní technika“