Php Glob列出文件,file_exists()表示它们不存在

Php Glob列出文件,file_exists()表示它们不存在,php,Php,我有一个关于文件和glob的奇怪问题。后者列出了这个特定目录中的所有文件,没有问题,但是如果我迭代文件路径并调用文件路径上存在的文件,它将返回false 我的第一反应是这是权限问题,但我已经运行了 sudo chmod-R 766./directoryName 这样PHP至少会有读取权限。还是没有区别 我在这里读了几个其他问题,其中提到安全模式可能是一个问题,但我已经验证了我的PHP版本5.3.5-1ubuntu7.10没有在安全模式下运行 这是我在有问题的目录中的ls-la输出 drwxrw-

我有一个关于文件和glob的奇怪问题。后者列出了这个特定目录中的所有文件,没有问题,但是如果我迭代文件路径并调用文件路径上存在的文件,它将返回false

我的第一反应是这是权限问题,但我已经运行了

sudo chmod-R 766./directoryName

这样PHP至少会有读取权限。还是没有区别

我在这里读了几个其他问题,其中提到安全模式可能是一个问题,但我已经验证了我的PHP版本5.3.5-1ubuntu7.10没有在安全模式下运行

这是我在有问题的目录中的ls-la输出

drwxrw-rw-  6 user     user      4096 2012-08-04 16:15 .
drwxr-xr-x  6 user     user      4096 2012-08-04 12:42 ..
-rwxrw-rw-  1 user     user       141 2012-07-25 20:43 AppCache.php
-rwxrw-rw-  1 user     user      1982 2012-08-04 10:54 AppKernel.php
-rwxrw-rw-  1 user     user       474 2012-07-25 20:43 autoload.php
-rwxrw-rw-  1 www-data user     47590 2012-08-06 20:01 bootstrap.php.cache
drwxrwxrw-+ 3 user     user      4096 2012-08-06 20:24 cache
-rwxrw-rw-  1 user     user      1643 2012-08-06 20:01 check.php
drwxrw-rw-  2 user     user      4096 2012-08-04 12:41 config
-rwxrw-rw-  1 user     user       794 2012-07-25 20:43 console
-rwxrw-rw-  1 user     user        13 2012-07-25 20:43 .htaccess
drwxrwxrw-+ 2 user     user      4096 2012-08-06 20:25 logs
-rwxrw-rw-  1 user     user      1327 2012-07-25 20:43 phpunit.xml.dist
drwxrw-rw-  3 user     user      4096 2012-08-04 12:41 Resources
-rwxrw-rw-  1 user     user     24240 2012-08-06 20:01 SymfonyRequirements.php
-rwxrw-rw-  1 user     user       727 2012-07-25 20:43 upgrade.php
在我的索引脚本中,我将做以下作为一个非常基本的测试

$files = glob('/path/to/directory/*.cache');
foreach($files as $file) {
    echo $file . ':';
    var_dump(file_exists($file));
    echo '<br>';
}

如果我创建一个脚本并从命令行运行它,那么file_exists调用会像预期的那样返回true。

Hmm,您的权限看起来非常允许,但我感觉这是因为所有者是用户

要进行测试,请尝试将权限更改为php用户的任何名称,您可以通过以下方法找到:

呼应呼吸机

然后检查index.php

如果是这样的话,根据我的理解,您可以为您的文件创建一个包含“user”和php用户(通常是“daemon”)的组


干杯

嗯,你的权限看起来是允许的,但我有一种感觉,那是因为所有者是用户

要进行测试,请尝试将权限更改为php用户的任何名称,您可以通过以下方法找到:

呼应呼吸机

然后检查index.php

如果是这样的话,根据我的理解,您可以为您的文件创建一个包含“user”和php用户(通常是“daemon”)的组

干杯

IIRC,如果没有+x权限位,您将无法读取目录,这可能是问题的根源

sudo chmod -R 755 ./directoryName
将权限掩码更改为755(而不是766)将为PHP提供读取和执行权限,这将解决问题

sudo chmod -R 755 ./directoryName
IIRC,如果没有+x权限位,您将无法读取目录,这可能是问题的根源

sudo chmod -R 755 ./directoryName
将权限掩码更改为755(而不是766)将为PHP提供读取和执行权限,这将解决问题

sudo chmod -R 755 ./directoryName

读访问和766可能不够-IIRC,您需要x权限才能查看目录。我会把它改成755,看看会发生什么。宾果!加上这个作为答案,我会接受的,Cheers Read access和766可能还不够-IIRC,你需要x权限才能查看目录。我会把它改成755,看看会发生什么。宾果!加上这个作为回答,我会接受的,干杯