如何修复PHP警告:文件获取内容?

如何修复PHP警告:文件获取内容?,php,windows,xampp,Php,Windows,Xampp,我得到以下警告: Warning: file_get_contents(C:\xampp\htdocs\test/wp-content/themes/test\images) [function.file-get-contents]: failed to open stream: Permission denied in ..\plugins\theme-check\main.php on line 29 main.php的第29行内容如下: $other[$filename] = file_

我得到以下警告:

Warning: file_get_contents(C:\xampp\htdocs\test/wp-content/themes/test\images) [function.file-get-contents]: failed to open stream: Permission denied in ..\plugins\theme-check\main.php on line 29
main.php的第29行内容如下:

$other[$filename] = file_get_contents( $filename );
以下是与$files相关的代码:

$files = listdir( $theme );

$files = array_merge( listdir( $parent ), $files );

if ( $files ) {
        foreach( $files as $key => $filename ) {
            if ( substr( $filename, -4 ) == '.php' ) {
                $php[$filename] = php_strip_whitespace( $filename );
            }
            else if ( substr( $filename, -4 ) == '.css' ) {
                $css[$filename] = file_get_contents( $filename );
            }
            else {
                $other[$filename] = file_get_contents( $filename );
            }
        }

        // run the checks
        $failed = !run_themechecks($php, $css, $other);
据我所知,这是许可错误。因为文件似乎无法访问该文件夹。我在Windows7上使用XAMPP。我不知道如何更改windows上的文件夹权限

请注意警告中的文件夹路径,它有\和/


我不想关闭警告等,而是想修复警告。

尝试使用此PHP函数替换windows路径:getcwd()
您需要将文件名连接起来。

Marc B击中了它的头部。您需要添加一个测试来检查文件名是否是一个目录,php函数是_dir($filename)

编辑
如果您正在执行类似于联机目录视图的操作。您可以更进一步,将目录包含在一个单独的数组中,对它们进行排序并首先列出它们。然后列出文件。我为动态库创建了类似的内容。

您是要在名为images的文件夹中还是在名为images的文件夹中的文件中创建文件内容?您需要找到创建$filename的行,或者找到要从中获取内容的内容。这些信息将有助于找出问题所在resides@James威廉姆斯,我刚刚添加了代码。请查看。如果$filename为空,则生成的
$other['filename']
将只包含一个目录。您不能在目录上使用
file\u get\u contents()
。@MarcB谢谢。詹姆斯·威廉姆斯帮了忙。
   if ( $files ) {
    foreach( $files as $key => $filename ) {
        if ( substr( $filename, -4 ) == '.php' ) {
            $php[$filename] = php_strip_whitespace( $filename );
        }
        else if ( substr( $filename, -4 ) == '.css' ) {
            $css[$filename] = file_get_contents( $filename );
        }
        else {
            if(!is_dir($filename)) $other[$filename] = file_get_contents( $filename );
        }
    }