0

我尝试使用以下代码检索文件时遇到问题:

<?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']; 行,如果我的文件名是文档名.pptx(包括空格)$_GET 只需要文档,所以我的文件永远不会被删除,有人可以帮我吗? 帮助真的很感激

4

2 回答 2

0

尝试使用urlencode () 和urldecode (),这应该在通过 URL 传递文件名时对文件名中的空格进行编码

所以

echo $file . "<a href=deletefile.php?file=" . urlencode($file) . ">Delete</a><br>";

$file = urldecode($_GET['file']);
于 2011-07-27T23:26:57.980 回答
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 发送。

于 2011-07-27T23:27:05.853 回答