簡體   English   中英

urldecode()函數無法解碼空格+

[英]urldecode() function not decoding whitespace +

我正在處理一個表格以提交要刪除的文件。 由於其中許多文件名都包含空格元素,因此我使用了urlencode()函數。 但是,當我urldecode()時,+符號未解碼為空格,並且會發生錯誤。 我究竟做錯了什么?

這是delete.php中的代碼,在解碼方面有一些變化:

<?php 

$file= 'test image.jpg';

echo "<form method=\"post\" name=\"deleteFile\" action=\"delete.php?delete=true\">          
<input type=\"hidden\" name=\"FileToDelete\" value=".urlencode($file)." >
<input class=\"delete_button\" type=\"submit\" value=\"X\"></div></form>";

if(isset($_GET['delete']) && $_GET['delete']=='true') {   
echo $_POST[urldecode("FileToDelete")].' #1'.'<br>';
echo $_POST[urldecode('FileToDelete')].' #2'.'<br>';
echo $_POST[htmlspecialchars(urldecode('FileToDelete'))].' #3'.'<br>';
}

?>

您不是在解碼文件名,而是在文本FileToDelete 我的猜測是您要執行以下操作:

if(isset($_GET['delete']) && $_GET['delete']=='true') {   
    $decodedFilename = urldecode($_POST['FileToDelete']);

    echo $decodedFilename.' #1'.'<br>';
    echo $decodedFilename.' #2'.'<br>';
    echo htmlspecialchars($decodedFilename).' #3'.'<br>';
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM