我需要从服务器获取一个文件,我这样做:
file_get_contents($path.$fileName);
它适用于大多数文件,直到我开始遇到特定情况下的一些问题,如下所示:
$path
是这样的字符串:"/path/to/app/and/file/folder/"
(不是网址,而是真实路径)
和$fileName
是:"PCard__0000_Front_(2).jpg"
我得到的错误是:
/path/to/app/and/file/folder/PCard__0000_Front_(2).jpg)
[function.file-get-contents]: failed to open stream: No such file or
directory
现在如果我用一个字符串调用该函数:file_get_contents("/path/to/app/and/file/folder/PCard__0000_Front_(2).jpg")
它运行良好
请一些人告诉我我做错了什么,我真的很想知道为什么会这样。
谢谢!
P.S。我已经看到其他一些人说使用curl但我真的很感激,如果有人可以解释为什么会发生这种情况,我怎么能用file_get_contents来解决它,无论其他功能有多好。
答案 0 :(得分:2)
错误消息清晰明了。
没有此类文件/path/to/app/and/file/folder/PCard__0000_Front_(2).jpg
因此,出于某种原因,您要将文件名从PCard__0000_Front_(2).jpg
更改为PCard__0000_Front_(2).jpg
。
解决方案:不更改文件名。
答案 1 :(得分:0)
根据显示文件名为PCard__0000_Front_(2).jpg
或许需要urldecode($filename)
<强>解强>
根据评论(谢谢)的建议,正确文件名的解决方案是
html_entity_decode($filename)