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を参照してください。%20GET 経由で送信できるように、スペースを に変換します。

于 2011-07-27T23:27:05.853 に答える