Sco*_*t B 8 php error-handling mkdir
尝试在服务器上调用mkdir()时出现以下错误...
警告:mkdir()[function.mkdir]:第373行/home/server/public_html/wp-content/themes/mytheme/catimages/cat-images.php中的权限被拒绝
功能如下.它试图在网站的"wp-content/uploads文件夹"下创建一个文件夹.我已经验证PHP版本是5.2.15并且主题文件夹中的文件是可写的,但这并不一定意味着我认为uploads文件夹是可写的.
如何确定uploads文件夹是否可写?
protected function category_images_base_dir()
{
// Where should the dir be? Get the base WP uploads dir
$wp_upload_dir = wp_upload_dir();
$base_dir = $wp_upload_dir[ 'basedir' ];
// Append our subdir
$dir = $base_dir . '/cat-images';
// Does the dir exist? (If not, then make it)
if ( ! file_exists( $dir ) ) {
mkdir( $dir ); //THIS IS LINE 373
}
// Now return it
return $dir;
}
Run Code Online (Sandbox Code Playgroud)
is_writable() 可能是你正在寻找的功能.
http://cz.php.net/manual/en/function.is-writable.php说:
如果文件名存在且可写,则返回TRUE.filename参数可以是目录名,允许您检查目录是否可写.
此外,下一行直接与此相关:
请记住,PHP可能正在以Web服务器运行的用户ID(通常是"nobody")访问该文件.
换句话说,检查您的目录是否可以通过Web服务器的用户ID写入 - 这可能与您的用户ID不同!设置适当的权限 - 例如,将文件夹的用户组设置为服务器用户的用户组,并将读取,写入和执行授予组.(chgrp somegroup uploads; chmod g+r uploads; chmod g+w uploads; chmod g+x uploads)