[英]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.