我有以下文件:
/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
并且问题仍然存在,所以我已经恢复了这些变化。
答案 0 :(得分:0)
尝试转义文件名中的空格。
/home/user/public_html/web-site.org/download/audio/1999/01-03\ Good\ News.mp3
答案 1 :(得分:0)