【发布时间】:2015-02-08 05:02:12
【问题描述】:
我正在运行的系统是 CentOS 6。假设我有这个文件路径:/var/www/examplesite.com/uploads/Dog Photos/happy dog.jpg
为了支持空格,我运行了一个简单的$filepath = str_replace(' ', '\\ ', $filepath) 来转义空格。
这会产生一个新的文件路径:/var/www/examplesite.com/uploads/Dog\ Photos/happy\ dog.jpg
但是,file_exists($filepath) 返回 false。
这很奇怪,因为stat /var/www/examplesite.com/uploads/Dog\ Photos/happy\ dog.jpg 返回文件的正确信息。
我做错了什么?
【问题讨论】:
-
可能的修复? php.net/manual/en/function.file-exists.php#49900 或者直接尝试一下?
标签: php path filesystems escaping