file_exists因未知原因返回false

时间:2011-02-02 15:05:02

标签: file-permissions

我有以下文件:

/home/user/public_html/web-site.org/download/audio/1999/01-03 Good News.mp3

问题是抛出错误并且文件在存在时退出。我正在检查file_exists,因为我之前正在执行copy()并且它失败导致文件不存在。我托管在hostGator上,我对这些mp3的权限是755

if (!file_exists('/home/user/public_html/web-site.org/download/audio/'.$sermon['year'].'/'.$sermon['file'])) {
    echo "Oops, file doesn't exist: <b>/home/user/public_html/web-site.org/download/audio/".$sermon['year']."/".$sermon['file']."</b>";
    exit;
}

它可能是文件名中的空格吗?我有大约1,100个要处理的音频文件,因此手动更改文件名将是一场噩梦......

更新

文件名上的

urlencode()trim()无效

文件名上的

str_replace(' ', '-', $sermon['file'])不起作用(在文件名本身中将空格更改为短划线后)

我检查了文件所在文件夹的权限,它是700,我将其更改为755,但没有效果。

更新

我在另一个帖子中读到,路径中的.位置可能会导致问题...所以我将.org更改为_org并且问题仍然存在,所以我已经恢复了这些变化。

2 个答案:

答案 0 :(得分:0)

尝试转义文件名中的空格。

/home/user/public_html/web-site.org/download/audio/1999/01-03\ Good\ News.mp3

答案 1 :(得分:0)

哇....我失败了......史诗般的失败......我的用户路径错了