laravel 4中的File_exists始终为false

时间:2013-07-18 20:37:07

标签: php laravel laravel-4

我在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

访问它,则文件确实存在

1 个答案:

答案 0 :(得分:4)

嗯,首先你说你在WAMP,可能是文件夹里有大写字母。请记住,对于linux而言,windows对文件夹不区分大小写。

第二,laravel的index.php文件在哪里? (它通常位于public文件夹中),file_exists()与其相关,因此,如果您的安装位置为:public_html/public/index.phprepo/images位于public文件夹,则应检查for:file_exists('repo/images...');

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

file_exists('repo/images...');
file_exists('../app/views/hello.blade.php');
...