如何修复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 );
}
}