首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >urldecode()函数不解码空格+

urldecode()函数不解码空格+
EN

Stack Overflow用户
提问于 2012-01-06 03:47:29
回答 1查看 340关注 0票数 0

我正在处理一个表单,以便提交要删除的文件。因为这些文件名中很多都有空格元素,所以我使用了urlencode()函数。但是,当我使用urldecode()时,+符号不会解码为空格&出现错误。我做错了什么?

以下是来自delete.php的代码,其中包含一些解码的变体:

代码语言:javascript
复制
<?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>';
}

?>
EN

回答 1

Stack Overflow用户

发布于 2012-08-01 16:46:17

您要解码的不是文件名,而是文本FileToDelete。我的猜测是您想要执行以下操作:

代码语言:javascript
复制
if(isset($_GET['delete']) && $_GET['delete']=='true') {   
    $decodedFilename = urldecode($_POST['FileToDelete']);

    echo $decodedFilename.' #1'.'<br>';
    echo $decodedFilename.' #2'.'<br>';
    echo htmlspecialchars($decodedFilename).' #3'.'<br>';
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8748755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档