php删除目录中的单个文件

ton*_*lfx 12 php

我从这个链接http://www.gaijin.at/en/scrphpfilelist.php获得了php list目录脚本.如何从directoy中删除单个文件?我试过unlink,但它删除了该目录中的所有文件.这是我从链接获得的短代码!

while ($file = readdir ($hDir)) {
if ( ($file != '.') && ($file != '..') && (substr($file, 0, 1) != '.') &&
     (strtolower($file) != strtolower(substr($DescFile, -(strlen($file))))) &&
     (!IsFileExcluded($Directory.'/'.$file))
   ) {

  array_push($FilesArray, array('FileName' => $file,
                                'IsDir' => is_dir($Directory.'/'.$file),
                                'FileSize' => filesize($Directory.'/'.$file),
                                'FileTime' => filemtime($Directory.'/'.$file)
                                ));
}
}
$BaseDir = '../_cron/backup';
$Directory = $BaseDir;

foreach($FilesArray as $file) {
  $FileLink = $Directory.'/'.$file['FileName'];
  if ($OpenFileInNewTab) $LinkTarget = ' target="_blank"'; else $LinkTarget = '';
    echo '<a href="'.$FileLink.'">'.$FileName.'</a>';
    echo '<a href="'.unlink($FileLink).'"><img src="images/icons/delete.gif"></a></td>';
  }
}
Run Code Online (Sandbox Code Playgroud)

列表目录文件夹调用:backup.
unlink($FileLink),当我悬停链接已更改到管理文件夹的另一个文件夹?

San*_*kha 28

unlink('path_to_filename'); 将一次删除一个文件.

如果目录中的所有文件都已消失,则表示您列出了所有文件并在循环中逐个删除.

那么你不能在同一页面中删除.你必须与其他页面.创建一个名为的页面deletepage.php,其中包含要删除的脚本并以'file'作为参数链接到该页面.

foreach($FilesArray as $file)
{
    $FileLink = $Directory.'/'.$file['FileName'];

    if($OpenFileInNewTab) $LinkTarget = ' target="_blank"'; 
    else $LinkTarget = '';

    echo '<a href="'.$FileLink.'">'.$FileName.'</a>';
    echo '<a href="deletepage.php?file='.$fileName.'"><img src="images/icons/delete.gif"></a></td>';        
}
Run Code Online (Sandbox Code Playgroud)

在deletepage.php上

//and also consider to check if the file exists as with the other guy suggested.
$filename = $_GET['file']; //get the filename
unlink('DIRNAME'.DIRECTORY_SEPARATOR.$filename); //delete it
header('location: backto prev'); //redirect back to the other page
Run Code Online (Sandbox Code Playgroud)

如果你不想导航,那么使用ajax来优雅.


Tra*_*mov 11

http://php.net/manual/en/function.unlink.php

Unlink可以安全地删除单个文件; 只是确保您要删除的文件实际上是一个文件而不是目录('.'或'..')

if (is_file($filepath))
  {
    unlink($filepath);
  }
Run Code Online (Sandbox Code Playgroud)