我正在尝试为我的家人,几个朋友和我制作一个简单的文件托管网站。我有整个系统设置,除了一件事...我找不到让用户在不必访问FTP的情况下删除文件的方法。我将在下面向用户发布用于列出文件的代码。我想为用户上传的每个新文件自动生成一个删除按钮。
列出文件的代码:
$directory = 'uploads/' . $_SESSION['user'] . '/';
if ($handle = opendir($directory)) {
echo '<h3>Your files are listed below</h3>';
while ($file = readdir($handle)) {
if ($file != '.' && $file != '..') {
echo '<a target="_blank" href="' . $directory . '/' . $file . '">' . $file . '<br>';
}
}
}
你可以
使用unlink()
php函数
参考: http://www.php.net/unlink
<?php
$mask = "*.jpg"
array_map( "unlink", glob( $mask ) );
?>
$directory = 'uploads/' . $_SESSION['user'] . '/';
if(isset($_REQUEST['DelFile'])) {
$DeleteFile = $_REQUEST['DelFile'];
if(file_exists($directory.$DeleteFile)) {
@unlink($directory.$DeleteFile);
header("location:SamePageURL.php?msg=1");
} else header("location:SamePageURL.php?msg=2");
}
if ($handle = opendir($directory)) {
echo '<h3>Your files are listed below</h3>';
while ($file = readdir($handle)) {
if ($file != '.' && $file != '..') {
echo '<a target="_blank" href="'.$directory.'/'.$file.'">' . $file.' <a href="SamePageURL.php?DelFile='.$file.'">Delete</a> <br>';
}
}
}
if(isset($_REQUEST['msg'])) {
$Message = $_REQUEST['msg'];
if($Message == 1) echo "File deleted sucessfully";
else if($Message == 1) echo "File not found";
}