使用php删除文件-下拉列表
这次的任务略有不同,我希望通过单击下拉选项(调用文件名)删除特定目录中的文件,然后单击提交按钮使用php删除文件-下拉列表,php,html,drop-down-menu,Php,Html,Drop Down Menu,这次的任务略有不同,我希望通过单击下拉选项(调用文件名)删除特定目录中的文件,然后单击提交按钮 <?php $myFile = "testFile.txt"; unlink($myFile); ?> 我认为上面的代码就是我所需要的。但是,我将“testFile.txt”替换为以下内容: <?php $myFile = ?><html>Dropdown code here to list all files in directory</html>
<?php
$myFile = "testFile.txt";
unlink($myFile);
?>
我认为上面的代码就是我所需要的。但是,我将“testFile.txt”替换为以下内容:
<?php $myFile = ?><html>Dropdown code here to list all files in directory</html><?php ; unlink($myFile);
?>
此处的下拉代码列出目录中的所有文件
我还在编辑和删减这个片段,如果回复需要一段时间,我很抱歉
编辑:我想知道你是否可以帮我创建它,这样它就是一个包含所有上传到目录/uploads/的文件的下拉框,这样我就可以在不搜索的情况下删除它们
提前谢谢大家
编辑:
好的,经过一些帮助,我已经做到了这一点:
<?php
$path = "uploads/";
$handle = opendir($path);
while ($file = readdir($handle)) {
if (substr($file,0,1) != ".") {
echo "<option value ='$file'></option>";
}
}
closedir($handle);
?>
这里有一种方法-它可能并不完美,我还没有测试过它
dir将为您获取目录中的文件列表,您可以使用该列表在PHP中填充选项列表,并将其回显到HTML页面
PHP:
$d=dir(“myDirectory”);
$files=array();
while(false!==($entry=$d->read()){
如果($entry==”。| |$entry==”..)继续;
$files[]='.$entry';
}
$options=内爆(“”,$files);
HTML:
然后,在用户提交表单后,可以从$\u POST或$\u get数组中获取文件
希望这能有所帮助。迈克,真不敢相信我错过了!以上编辑。谢谢好吧,把它拆开。首先,您需要获得目录中文件的列表。然后,您需要将其呈现给用户。然后你需要弄清楚他们选择了哪一个(cough*$\u POSTcough*),然后你需要删除它。你基本上是要求我们在这里给你写一个完整的系统。很抱歉,在你的印象中,我希望你写一个完整的系统。我一点也不想那样。只是想知道该往哪个方向走。好吧,看看我帖子的其余部分;)。看看readdir
。你必须完全按照slugonamission所写的去做:把你复杂的问题分解成更容易解决的小问题。那么,您的代码在哪里可以获取目录中的文件列表?你必须告诉我们你试过什么,不要问“我想要那个,给我所有的代码”这样的问题。你好,加雷斯,谢谢你的回复。我不确定我的回答是否正确。我最初用HTML制作表单时认为是正确的:删除脚本:
这在我的索引页上。mydelete.php是您提供的代码,但myDirectory是“uploads/”。我还添加了一个echo。我发布的代码不太完整-您还需要检查$\u POST数组以查看表单是否已提交,在这种情况下,您有要使用unlink($filname)命令删除的文件名。您需要遵循的步骤是:列出文件,构造选项列表(我提供的PHP代码),将选项列表放在页面上的一个表单中(我提供的伪HTML),检查PHP脚本中的$\u POST数组,如果发现用户已提交,请使用取消链接。基本上,您需要添加类似于if(isset($\u POST['file\u delete']){unlink($\u POST['file\u delete']);}
嘿,Gareth,我更改了我原来的帖子,我相信这会使您的代码更容易理解和实现。它在下拉列表中不起作用,但是如果我回显$File,它就起作用了。我会把这件事弄得一团糟,然后再打给你。再次感谢Gareth:)嗨-echo.“$file.”代码>。但这并不是真正的问题。如果您将HTML与PHP放在同一个文件中(您可以在同一个文件中“跳入”和“跳出”PHP,请参见示例),那么我给您的HTML代码将成功地向您显示选项列表。嘿,Gareth,成功了!:)现在我要做的就是嵌入删除文件选项。我现在就尝试一下。你帮了大忙。谢谢你!
$d = dir("myDirectory");
$files = array();
while (false !== ($entry = $d->read())) {
if($entry == '.' || $entry == '..') continue;
$files[] = '<option value="'.$entry.'">'.$entry.'</option>';
}
$options = implode('',$files);
<form...>
<select name="file_delete"><?= $options;?></select>
<input type="submit"... />
</form>