我的代码存在问题。基本上我可以生成和删除现有文件夹中的子目录。但是,当它显示时,它试图打开文件夹而不通过它所在的文件夹。基本上:
主要目录:
generate.php
testCreate.php
testDeleteDir.php
上传(文件夹)
当我尝试访问“test”时,它不会通过上传来获取它。我该如何解决这个问题?
PHP代码: test.php的:
<form action="testCreate.php" method="post">
Enter the name of Folder: <input type="text" name="name">
<input type="submit" value="generate">
</form>
<?php
$path = "./uploads";
$dir = opendir($path) or die ("unable to open directory");
while ($file = readdir($dir)){
if($file == "." || $file == ".." || $file == "test.php" || $file == "testCreate.php" || $file == "testDeleteDir.php"){
continue;
}
echo "<a href='$file'>$file</a><a href='testDeleteDir.php?dir=$file'> Delete</p><br />";
}
closedir($dir);
?>
testCreate.php:
<?php
$dir = $_POST['name'];
mkdir("./uploads/" . $dir, 0777);
header("location: test.php");
?>
testDeleteDir.php:
<?php
$dir = $_GET['dir'];
rmdir("./uploads/" . $dir);
header("location: test.php");
?>
非常感谢任何帮助!谢谢!
答案 0 :(得分:0)
您是否只需要添加链接路径,如下所示?
echo "<a href='$path$file'>$file</a><a href='testDeleteDir.php?dir=$file'> Delete</p><br />";
现在它读取路径的值和文件目录
答案 1 :(得分:0)
readdir()
不包括您正在阅读的目录的路径,例如
$fd = opendir('/etc');
echo readdir($fd);
会回显.
,而不是/etc/.
。
由于您只读取文件名,但是从子目录中读取它们,您必须在html href
中包含该子目录:
echo "<a href='uploads/$file'>$file[...snip...]
^^^^^^^^