php – mkdir()上的权限被拒绝

尝试在服务器上调用mkdir()时出现以下错误

Warning: mkdir() [function.mkdir]:
Permission denied in
/home/server/public_html/wp-content/themes/mytheme/catimages/cat-images.PHP
on line 373

功能如下.它试图在网站的“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;
}
is_writable()可能是您正在寻找的功能.

http://cz.php.net/manual/en/function.is-writable.php说:

Returns TRUE if the filename exists and is writable. The filename argument may be a directory name allowing you to check if a directory is writable.

此外,下一行直接与此相关:

Keep in mind that PHP may be accessing the file as the user id that the web server runs as (often ‘nobody’).

换句话说,检查您的目录是否可以通过Web服务器的用户ID写入 – 这可能与您的用户ID不同!设置适当的权限 – 例如将文件夹的用户组设置为服务器用户用户组,并将读,写和执行授予组. (chgrp somegroup uploads; chmod g r uploads; chmod g w uploads; chmod g x uploads)

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...