我的网站上有一个php页面供管理员使用,让我将文件上传到目录中。我还设置了它以向我显示目录中的文件列表,现在列表看起来像这样-
现在我正在尝试做两件事- 1.从我的列表中删除“。”,“ ..”。 2.让用户单击文件旁边的按钮将其删除。
我的当前代码-
<?php
$dir = '/uploads/music';
$files1 = scandir($dir);
if(count($files1) > 0) {
echo '<ul>';
echo '<li>' . implode( '</li><li>', $files1) . '</li>';
echo '<a href="?delete=1">delete</a>';
if(isset($_GET['delete']))
{
unlink($files1);
}
echo '</ul>';
}
?>
编辑
我能够将“。” /“ ..”从列表中删除-
$files1 = scandir($dir);
$musicfiles = array_diff($files1, array('.', '..'));
但是我在删除文件时仍然遇到问题。
编辑2
我稍微更改了代码,我想我越来越近了。现在,删除按钮将删除所有文件,而不是单个文件-
<form method='post' action='' enctype='multipart/form-data'>
<?php
$dir = $_SERVER['DOCUMENT_ROOT'] . '/wp-content/uploads/music';
$files1 = scandir($dir);
$musicfiles = array_diff($files1, array('.', '..'));
echo '<ul>';
if(count($musicfiles) > 0) {
foreach ($musicfiles as $mf) {
$mfclean = str_replace(".mp3","",$mf);
$ifile = '/wp-content/uploads/music/'.$mf;
echo '<li>'.ucfirst($mfclean).' <a href="'.unlink($_SERVER['DOCUMENT_ROOT'].$ifile).'">x</a></li>';
}
}
echo '</ul>';
?>
</form>