とに関連する奇妙な問題が少しfile_exists()
ありglob()
ます。後者は、この特定のディレクトリ内のすべてのファイルを問題なく一覧表示しますが、ファイルパスを繰り返し処理して呼び出すとfile_exists()
、falseが返されます。
私の最初の反応は、これは権限の問題であるということでしたが、私は実行しました
sudo chmod -R 766 ./directoryName
PHPが少なくとも読み取りアクセス権を持つようにします。それでも違いはありません。
セーフモードが問題になる可能性があるという他のいくつかの質問をここで読みましたが、PHP(PHP Version 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>';
}
以下を出力します。
/path/to/directory/bootstrap.php.cache:
boolean false
スクリプトを作成してコマンドラインから実行すると、期待どおりにfile_exists()
呼び出しが返さtrue
れます。