Witam!
Chcę w php zrobić coś takiego że po naciśnięciu linku usuń, usuwa się rekord z bazy oraz folder (z plikami) w …/gallery.
Mam coś takiego:
Witam!
Chcę w php zrobić coś takiego że po naciśnięciu linku usuń, usuwa się rekord z bazy oraz folder (z plikami) w …/gallery.
Mam coś takiego:
Może masz php4 na serwerze i stąd ten błąd? Mi np. ten kod usuwa katalog wraz z zawartością.
Na pewno podałeś dobrą ścieżkę?
$folder = 'abc';
delete_dir('./galeria/'.$folder);
|───usun.php
├───galeria
│ └───abc
Wszystko mam na localhost, program webserv, a katalog galeria jest o jeden katalog do tyłu od skryptu.
Wywołaj sobie samą funkcję delete_dir(), katalog ustaw na sztywno. Funkcję wywołaj w ten sposób.
if (file_exists($dir)) {
if (delete_dir($dir)) {
echo 'Directory successfully removed.';
} else {
echo 'ERROR: Directory could not be removed.';
}
} else {
echo 'ERROR: Directory does not exist.';
}
/Edit: popraw też ifa
if( (isset($_GET['usun'])) && (isset($_GET['folder'])) )
@kalamita - zabłysnąłeś, http://pl.php.net/manual/en/function.rmdir.php i komentarze …
Darmowy skrypt usuwający. Dostosuj go do własnych potrzeb :
<?php
/**
* Delete a file, or a folder and its contents
*
* @author Aidan Lister
* @version 1.0.2
* @param string $dirname Directory to delete
* @return bool Returns TRUE on success, FALSE on failure
*/
function rmdirr($dirname)
{
// Sanity check
if (!file_exists($dirname)) {
return false;
}
// Simple delete for a file
if (is_file($dirname)) {
return unlink($dirname);
}
// Loop through the folder
$dir = dir($dirname);
while (false !== $entry = $dir->read()) {
// Skip pointers
if ($entry == '.' || $entry == '..') {
continue;
}
// Recurse
rmdirr(\"$dirname/$entry\");
}
// Clean up
$dir->close();
return rmdir($dirname);
}
?>
Tzn. ?
Jeśli dobrze rozumiem nie chodzi mi o samo usuwanie folderu lecz o usuwanie folderu i rekordu, więc co mi do ta jak będę wywoływał samą funkcje jak i tak to ma usuwać i folder i rekord…
tzn ?