2

我在 Laravel 4 中编写了小型 CMS,并且正在使用 wamp 进行开发。应用程序在www文件夹中,一切正常。完成开发后,我将一个应用程序移至我的实时服务器,并将应用程序放在root我的主机文件夹(上面的文件夹public_html)中。在某些函数中,我正在检查某些文件是否存在,当我使用 wamp 时,一切正常,但现在file_exists()总是返回false. 存放文件的文件夹的文件夹权限设置为755,文件权限相同。

我已经尝试过clearstatcache(),安全模式不会成为问题,因为它在 PHP 5.4 中已被删除。还有其他想法吗?

if(file_exists('public_html/repo/images/testimage.jpg')){
    //do something
}
else{
    echo "error";
}

我检查了几次,如果我尝试通过 url 访问它,文件确实存在

4

1 回答 1

4

好吧,首先你说你在 WAMP 中,可能是文件夹有大写。请记住,windows 对文件夹不区分大小写,而 linux 是。

二、laravel的index.php文件在哪里?(它通常在public文件夹中),file_exists()是相对于它的,所以如果你的安装是:public_html/public/index.php并且repo/imagespublic文件夹中,你应该检查:file_exists('repo/images...');

Laravel 旨在将其文件保持在公共访问之外,因此我建议您将 laravel 的文件和文件夹放在根目录中/,同时将文件夹中的所有内容移动publicpublic_html. 这样,您可以相对于public_html文件夹检查文件是否存在。

file_exists('repo/images...');
file_exists('../app/views/hello.blade.php');
...
于 2013-07-18T20:58:36.703 回答