PHP file_get_contents更改文件名

时间:2011-09-27 05:51:41

标签: php

我需要从服务器获取一个文件,我这样做:

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来解决它,无论其他功能有多好。

2 个答案:

答案 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)