Изтриване на всички файлове в директория от файл ?

DrViS

Registered
Как ще стане като стартирам файла del.php и да изтрива всички файлове в директорията в която е файла ?
 
<?php
$dir = ".";
if ($handle = opendir($dir)) {
while ($file = readdir($handle)) {
if($file != "." AND $file != ".." AND $file != "Thumbs.db" AND $file != "del.php")
{
unlink($file);
}
}
closedir($handle);
}
?>

Това в червено е името на файла с който ще изтриваш.
 
<?php
$directory = opendir('images/');
while ($file = readdir($directory))
{
$filenames[] = $file;
}
foreach ($filenames as $file)
{
if (!@unlink($directory/$file)) {
echo"Файловете немогат да бъдат изтрити"; }else{echo"Файловете бяха изтрити!"; }
}
?>

Така?
Като пуснеш файла, ще изтрие всички файлове от директорията
 
human каза:
<?php
$directory = opendir('images/');
while ($file = readdir($directory))
{
$filenames[] = $file;
}
foreach ($filenames as $file)
{
if (!@unlink($directory/$file)) {
echo"Файловете немогат да бъдат изтрити"; }else{echo"Файловете бяха изтрити!"; }
}
?>

Така?
Като пуснеш файла, ще изтрие всички файлове от директорията

А как да направя да изтрива от 2 директории или повече ?
 
Примерно имаш 1 директория,да кажем "DIR" и в нея имаш няколко файла + няколко директории(с файлове в тях) . Искаш да изтриеш всичко без файла за изтриване така ли ?
 
<?php
function remove_dir($dir)
{
$handle = opendir($dir);
while (false!==($item = readdir($handle)))
{
if($item != '.' && $item != '..' && $item != 'dir1.php')
{
if(is_dir($dir.'/'.$item))
{
remove_dir($dir.'/'.$item);
}else{
unlink($dir.'/'.$item);
}
}
}
closedir($handle);
if(@rmdir($dir))
{
$success = true;
}
}
function dirdelete($directory)
{
if (!is_dir($directory))
{
echo ("$directory | Директорията не съществува!");
}
if ($dir = opendir($directory))
{
while (($dirfile = readdir($dir)) !== false)
{
$path = $directory.'/'.$dirfile;
if (is_link($path) || $dirfile == '.' || $dirfile == '..' || $dirfile == 'dir1.php')
{
continue;
}
if (is_file($path))
{
unlink ("$path");
}
if (is_dir($path))
{
$dirdel = dirdelete($path);
}
}
closedir($dir);
}
}
$current_dir = ".";
dirdelete($current_dir);
remove_dir($current_dir);
?>

Това в червеното е файла за триене!
 
ето ти код..
http://bg2.php.net/manual/en/function.glob.php
+ http://bg2.php.net/manual/en/function.unlink.php
какво толкова сложно има да си поиграеш малко..
 
human каза:
<?php
$directory = opendir('images/');
while ($file = readdir($directory))
{
$filenames[] = $file;
}
foreach ($filenames as $file)
{
if (!@unlink($directory/$file)) {
echo"Файловете немогат да бъдат изтрити"; }else{echo"Файловете бяха изтрити!"; }
}
?>

Така?
Като пуснеш файла, ще изтрие всички файлове от директорията
ц.ц.ц.
ако имам 100 файла т'ва ще ми го каже 100000 пати
И ще ми изтрие този файл OMFG !
$filenames не е масив а защо го правиш такъв O_o
//офф
така като се копира от някаде...
 

Back
Горе