Mazání souborů přes foreach, unlink

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Tymikes
Člen | 63
+
0
-

Zdravím,
mám metodu, která maže úkoly i s jejich přílohou, problém je jakmile foreach začně mažat, smaže první a hned zahlásil chybu, že ho nemůže na dané cestě najít (jako kdyby nepřeskočil na dalšího). Jak to vyřešit?

public function actiondeleteAll(){
$ukoly = $this->ukoly->findBy(array('jmeno_uzivatele' => $this->user->id));
$soubory = $this->soubory->findBy(array('uzivatel_id' => $this->user->id));

if($soubory) {
foreach ($soubory as $soubor){
    unlink($soubor["cesta_souboru"]);
}


$soubory->delete();
$ukoly->delete();
$this->flashMessage('Všechny úkoly byly smazány', 'alert-warning');
$this->redirect('Homepage:default');}

Editoval Tymikes (8. 4. 2016 16:34)

Томас
Člen | 85
+
+1
-

a co

if(file_exists($filename)){
    unlink($filename);
}

? :-)

Tymikes
Člen | 63
+
0
-

Ale já nechci smazat pouze jeden, já chci smazat všechny, které daný uživatel vytvořil.

ViPEr*CZ*
Člen | 818
+
+2
-

No vždyť jo. Do toho foreache dejte tu podmínku, aby když soubor neexistuje to neskončilo, ale jen se přeskočilo na další bez pokusu o smazání. ;-)

Tymikes
Člen | 63
+
0
-

Nojo, omlouvám jsem se nejdříve myslel, že to myslí místo foreach :) Děkuji Vám :)

CZechBoY
Člen | 3608
+
0
-

Kdyz uz tak is_file a is_writeable, a jeste asi pridat zavinac.