我遇到问题我尝试使用此代码检索文件:
<?php
$path= "./uploadedfiles/";
$dir= dir($path);
while ($file = $dir->read()) {
echo $file . "<a href=deletefile.php?file=$file>Delete</a><br>";
}
$dir->close();
?>
和我的deletefile.php
<?php
$file = $_GET['file'];
echo $file;
$path = 'C:/wamp/www/project/uploadedfiles/'.$files;
if(unlink($path)){
echo "File deleted";
}else{
echo "Erro no uploaded";
}
?>
问题是使用行$ file = $ _GET ['file'] ;,如果我的文件名是文件name.pptx(包含空格),$ _GET只需要文档,所以我的文件永远不会被删除,可以谁来帮帮我?帮助非常感谢
答案 0 :(得分:0)
尝试使用urlencode()和urldecode(),这应该通过URL传递文件名中的空格
所以
echo $file . "<a href=deletefile.php?file=" . urlencode($file) . ">Delete</a><br>";
和
$file = urldecode($_GET['file']);
答案 1 :(得分:0)
您需要更改此行:
echo $file . "<a href=deletefile.php?file=$file>Delete</a><br>";
到
echo $file . '<a href="deletefile.php?file='.urlencode($file).'">Delete</a><br>';
见urlencode。它会将您的空间转换为%20
,以便可以通过GET发送。