» »

Izbris mape in njenih datotek, starejših več kot 10 minut od zadnje osvežitve?

Izbris mape in njenih datotek, starejših več kot 10 minut od zadnje osvežitve?

Housy ::

Pozdrav :)

Naletel sem na manjšo težavo. Nekako mi ne uspe spisat skripte, ki bi pobrisala vse mape in njihovo vsebino, ampak samo v primeru, če so te starejše npr. od 10 min oz. so bile takrat nazadnje modificirane/osvežene.

Struktura je sledeča:
-> upload -> directory -> datoteke

Nekaj mi je sicer uspelo spisat, ampak ne dela tako kot bi moralo, zato bi prosil za pomoč.

Rabil bi eno čist simple rešitev. Se pa v teh mapah kreirajo datoteke tipa WAV, MP3, M4A in pa AAC, če je to sploh pomembno.

Moja trenutna koda:
<?php

// read whole upload directory and list directories only
$directories = glob("upload/*", GLOB_ONLYDIR);

// count all directories
// -1 at the end, because array starts from zero (0)
$count_dir = count($directories)-1;

// loop through directories
for($i = 0; $i <= $count_dir; $i++) {

	// check if last modified time is bigger than 10 minutes
	if((time() - filemtime($directories[$i]) > 600)) {
	
		// if true, first delete files
		foreach(glob($directories[$i] . "/*") as $file)
			unlink($file);
		
		// when directory is empty, we can remove it
		rmdir($directories[$i]);
		
	}
	
}

?>


Kaj delam narobe?

Hvala in lp,
Housy

Housy ::

Včasi pobriše fajle, včasih ne, res ne vem kaj je to :(

Housy ::

Sem rešil težavo.

Problem je bil, ker so nekatere datoteke imele še kakšno odvečno piko (.) med samim imenom datoteke, zato funkcija enostavno ni mogla razbrati, ali gre za datoteko ali ne.

Sem malenkost še zminimaliziral kodo. Če bo kdo slučajno rabil, ima spodaj :)
<?php

// read whole upload directory and list directories only
$directories = glob("upload/*", GLOB_ONLYDIR);

// loop through directories
foreach($directories as $dir) {

	// check if last modified time is bigger than 10 minutes
	if((time() - filemtime($dir) > 600)) {
	
		// if true, first delete files
		foreach(glob($dir . "/*") as $file)
			unlink($file);
			
		// when directory is empty, we can remove it
		rmdir($dir);
		
	}
	
}

?>


Lp, Housy

Zgodovina sprememb…

  • spremenil: Housy ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

2 napaki pri HTML5 validaciji! Kako jih odpraviti?

Oddelek: Izdelava spletišč
91012 (726) slitkx
»

Facebook tab "povabi prijatelje" ne deluje?

Oddelek: Izdelava spletišč
51070 (910) Housy
»

CSS pomoc

Oddelek: Izdelava spletišč
111777 (1482) Neumann
»

PHPmailer in CSS background-image? Ne prikaže ozadja!

Oddelek: Izdelava spletišč
81222 (1167) enjst
»

PHP + MySQL excel export pomoč?

Oddelek: Izdelava spletišč
121489 (1336) sumoborac

Več podobnih tem