2012-04-24 3 views
0

Прежде всего, я знаю, что использовать Unlink для удаления уникального файла из каталога. Тем не менее, я хочу знать, как установить это, чтобы я мог иметь html-интерфейс и иметь возможность выбирать все файлы в каталоге.Удалить файл из каталога

Код был бы приятным, но несправедливо спросить у вас прекрасных людей. Так что толчок в правильном направлении будет таким же хорошим.

+0

вы whant полный сценарий – Grumpy

+0

Вы имеете в виду вы хотите каталог листинга скрипт, который дает ссылки для удаления файлов? Начнем с ['glob()'] (http://php.net/manual/en/function.glob.php) – DaveRandom

+0

Вам нужен какой-либо класс или функция? – Huseyin

ответ

0

Вы можете обратиться к here за файловым менеджером с открытым кодом. Вы можете просмотреть его код или напрямую использовать его. Это непросто выполнить эту операцию, вставив здесь пример кода.

0

Следующая функция предназначена для удаления всего каталога.

function readDirectory($dir){ 
$dir = opendir($dir); 
while (($file = readdir($dir)) !== false) 
    { 
    if($file!="." and $file!=".."){ 
     echo "filename: " . $file . "<br />"; 
    } 
    } 
closedir($dir); 
} 
function rrmdir($dir) { 
    if (is_dir($dir)) { 
    $objects = scandir($dir); 
foreach ($objects as $object) { 
if ($object != "." && $object != "..") { 
if (filetype($dir."/".$object) == "dir")rrmdir($dir."/".$object); else unlink($dir."/".$object); 
} 
} 
reset($objects); 
rmdir($dir); 
} 
} 
+0

Существует 2 функции для удаления всего каталога и другого для чтения целых каталогов, и он будет работать только в том случае, если у скрипта есть разрешение на чтение, удаление каталога. –

5

В этом коде приведены все файлы в указанном каталоге с ссылкой на удаление. Когда нажата кнопка удаления, она вызывает файл php для удаления файла с помощью функции ajax (jquery). Проверьте, не имеют ли одно и то же имя более одного файла.

список всех файлов в каталоге

<?php 
$directory = "your directory path"; 
$images = scandir($directory); 
$ignore = Array(".", ".."); 
$count=1; 
echo '<table border=1>'; 
foreach($images as $dispimage){ 
    if(!in_array($dispimage, $ignore)){ 
    echo "<tr id='del$count'><td>$count</td><td>$dispimage</td><td><input type='button' id='delete$count' value='Delete' onclick='deleteFile(\"$dispimage\",$count,\"$directory\");'></td></tr>"; 
    $count++; 
    } 
} 
echo '</table>'; 
?> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript"> 
function deleteFile(fname,rowid,directory) 
{ 
    $.ajax({ url: "deletefile.php", 
     data: {"filename":fname,"directory":directory}, 
     type: 'post', 
     success: function(output) { 
      alert(output); 
      $("#del"+rowid).remove(); 
     } 
    }); 
} 
</script> 

deletefile.php

<?php 
$filename = $_POST['filename']; 
$path = $_POST['directory']; 
if(file_exists($path."/".$filename)) { 
unlink($path."/".$filename); //delete file 
} 
?> 
+0

Это красиво. Отображает все, но он не удаляет, но я буду продолжать беспорядок с ним – user1309522

+0

, пожалуйста, проверьте, есть ли у вас jquery.js на вашем пути – nithi

+0

Я сделал небольшую ошибку в файле deletefile.php. $ filename = $ _POST ['fname']; измените его на $ filename = $ _POST ['filename']; – nithi

Смежные вопросы