我有一个PHP文件,它将接受多个URL参数,其中一个是本地文件路径(c:\ users \ etc ..)。每当读入此参数时,PHP都会将其转换为双反斜杠(c:\ users \ etc ..),我的上传代码不会将其作为有效路径接受。我能在这做什么?
由于
-Jesse
答案 0 :(得分:2)
首先,为了安全性原因,请避免在查询字符串中接受 路径 。您可能希望在php.ini文件中设置 include path 。
您可以将双反斜杠替换为单个反斜杠:
$myvalue = str_replace('\\\\', '\\', $original_path);
指定\
两次以在替换时实际转义它。
答案 1 :(得分:1)
你可以做到
$newpath = str_replace("\\\\","\\",$oldpath);
或类似的
$newpath = stripslashes($olpath);
请注意,第二个工作取决于php.ini
中的magin_quotes
设置
答案 2 :(得分:1)
这听起来像是典型的魔术行情问题。您可以disable them以不同的方式。从PHP 5.3开始,它们将被弃用,并将在PHP 6中删除。