2012-04-24 4 views
0

Tout d'abord, je sais utiliser Unlink pour supprimer un fichier singulier d'un répertoire. Cependant, ce que je veux savoir, c'est comment le configurer pour que je puisse avoir une interface html et être capable de choisir parmi tous les fichiers d'un répertoire. Code serait bien, mais il est injuste de demander à vous de bonnes personnes. Donc, une poussée dans la bonne direction serait tout aussi bonne.Supprimer un fichier d'un répertoire

+0

vous whant un script complet – Grumpy

+0

Vous voulez dire que vous voulez un script liste de répertoires, qui donne des liens pour supprimer les fichiers? Commencez avec ['glob()'] (http://php.net/manual/fr/function.glob.php) – DaveRandom

+0

Aviez-vous besoin d'une classe ou d'une fonction? – Huseyin

Répondre

0

Vous pouvez vous référer à here pour une version open source du gestionnaire de fichiers php. Vous pouvez consulter son code ou l'utiliser directement. Il n'est pas facile de faire cette opération en collant le code échantillon ici.

0

La fonction suivante permet de supprimer un répertoire entier.

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

Il ya 2 fonctions l'une pour supprimer le répertoire entier et l'autre pour lire le répertoire entier et cela ne fonctionnera que si le script a l'autorisation de lire, de supprimer le répertoire. –

5

Ce code répertorie tous les fichiers dans le répertoire donné avec le lien de suppression. Lorsque le bouton Supprimer est cliqué, il appelle un fichier php pour supprimer le fichier en utilisant la fonction ajax (jquery). Vérifiez si plusieurs fichiers n'ont pas le même nom.

liste tous les fichiers dans un répertoire

<?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

C'est magnifique. Affiche tout, mais il ne supprime pas, mais je vais continuer à jouer avec elle – user1309522

+0

s'il vous plaît vérifier si vous avez jquery.js dans votre chemin – nithi

+0

J'ai fait une petite erreur dans deletefile.php. $ filename = $ _POST ['fname']; changez-le en $ filename = $ _POST ['filename']; – nithi

Questions connexes