salve ho il seguente codice:
if (!empty($comm['albumurl'])) {
if (eliminafiles($albumdir)){
$query = "DELETE
FROM ".TABLE_SUFFIXGALLERY."
WHERE id_album = ".$id_album;
$result = safe_query($query);
$errore .= _ELIMINA_ALBUM_CORRETTO;
$rm_db = 0;
} else {
$errore .= _ERRORE_ELIMINA_ALBUM;
$rm_db = 1;
}
}
eseguito su xampp
Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i mod_autoindex_color PHP/5.2.8
il tutto butta giù apache2 senza problemi
log di apache error.log
[Fri May 08 15:09:57 2009] [notice] Parent: child process exited with status
3221225725 -- Restarting.
ovviamente non riparte se non riavviato manualmente
facendo delle prove è la funzione eliminafiles che da questo problema:
function eliminafiles($dir) {
$conferma=0;
if($objs = @glob($dir."/*")){
foreach($objs as $obj) {
if(@is_dir($obj)){
eliminafiles($obj);
} else {
@unlink($obj)? $conferma=1 : $conferma=0;
}
}
} elseif (file_exists($dir) && is_file($dir)) {
@unlink($dir)? $conferma=1 : $conferma=0;
} else {
if(@is_dir($dir)){
eliminafiles($dir);
} else {
@unlink($dir)? $conferma=1 : $conferma=0;
}
}
if ($conferma==0) {
if (@rmdir($dir)){
return TRUE;
} else {
return FALSE;
}
} else {
return TRUE;
}
}
adesso in condizioni normali a questa funzione viene passato $albumdir = GALLERY_IMAGES_DIR.$comm['albumurl'];
che nel mio caso da C:/xampp/htdocs/demo_CMS/public/images/directoryalbum
la directory ha questa struttura:
album_554635237543287
|
|---mcith(directory contenente le miniature delle imagini)
|
|---images.php, slideshow.swf, e poi tutti i file immagine uplodati
nel suo funzionamento normale elimina tutti i file dentro ad album_35452542525235
e i file dentro mcith
se invece non trova dei file mcith perchè già eliminati manualmente, ossia in caso di
directory vuova mi butta giù apache2
grazie per ogni eventuale risposta

Rispondi quotando