导致此权限错误的原因是什么,我该如何解决?

时间:2010-03-17 02:22:01

标签: php wordpress permissions

警告:move_uploaded_file(/home/site/public_html/wp-content/themes/mytheme/upgrader.zip)[function.move-uploaded-file]:无法打开流:/ home / site / public_html中的权限被拒绝第79行/wp-content/themes/mytheme/uploader.php

警告:move_uploaded_file()[function.move-uploaded-file]:无法将'/ tmp / phptempfile'移动到'/home/site/public_html/wp-content/themes/mytheme/upgrader.zip'中/第79行的home / site / public_html / wp-content / themes / mytheme / uploader.php 有一个问题。遗憾!

该行的代码如下......

// permission settings for newly created folders
$chmod = 0755;  

// Ensures that the correct file was chosen
$accepted_types = array('application/zip', 
                            'application/x-zip-compressed', 
                            'multipart/x-zip', 
                            'application/s-compressed');

foreach($accepted_types as $mime_type) {
    if($mime_type == $type)
        {
        $okay = true;
        break;
    } 
}

$okay = strtolower($name[1]) == 'zip' ? true: false;

if(!$okay) {
      die("This upgrader requires a zip file. Please make sure your file is a valid zip file with a .zip extension");       
}

//mkdir($target);
$saved_file_location = $target . $filename;

//Next line is 79 
if(move_uploaded_file($source, $saved_file_location)) {
    openZip($saved_file_location);
} else {
    die("There was a problem. Sorry!");
}

3 个答案:

答案 0 :(得分:1)

您似乎需要向zip文件移动到的文件夹添加写入权限。我假设您使用的是Linux和Apache。您可以将上传文件夹的所有者更改为apache并授予其770权限。 INSECURE的替代方法是不更改文件夹的所有者并将权限更改为777,就像我说的那样不安全。

以下文章提供了一些更多信息以及一些技术,以确保我提供的第二个替代方案:

http://www.mysql-apache-php.com/fileupload-security.htm

答案 1 :(得分:0)

如果您有权访问您的服务器,请查看.htaccess文件和php.ini文件夹,以检查允许上传的文件。如果您通过公司托管,则应该可以访问具有php设置部分的在线控制面板。

答案 2 :(得分:0)

尝试在移动脚本之前使用chmod函数,并为该文件夹添加写入权限。