Что вызывает ошибку этого разрешения и как я могу обойти это? - PullRequest
4 голосов
/ 17 марта 2010

Предупреждение: move_uploaded_file (/home/site/public_html/wp-content/themes/mytheme/upgrader.zip) [function.move-uploaded-file]: не удалось открыть поток: отказано в разрешении в / home / site / public_html /wp-content/themes/mytheme/uploader.php в строке 79

Предупреждение: move_uploaded_file () [function.move-uploaded-file]: невозможно переместить '/ tmp / phptempfile' в '/home/site/public_html/wp-content/themes/mytheme/upgrader.zip' в / home / site / public_html / wp-content / themes / mytheme / uploader.php в строке 79 Была проблема. Извините!

Код ниже для этой строки ...

// 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 ]

1 голос
/ 17 марта 2010

Похоже, вам нужно будет добавить разрешения на запись в папку, в которую перемещается zip-файл. Я предполагаю, что вы используете Linux и Apache. Вы можете изменить владельца папки загрузки на apache и дать ей 770 разрешений. Альтернатива INSECURE - не менять владельца папки и изменять разрешение на 777, которое, как я сказал, не является безопасным.

Следующая статья предоставляет дополнительную информацию в дополнение к некоторым методам защиты второй альтернативы, которую я предоставил:

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

0 голосов
/ 17 марта 2010

Попробуйте использовать функцию chmod перед сценарием перемещения и добавьте разрешение на запись в эту папку.

0 голосов
/ 17 марта 2010

Если у вас есть доступ к вашему серверу, посмотрите на ваш файл .htaccess и папку php.ini, чтобы проверить, какие файлы разрешено загружать. Если вы осуществляете хостинг через компанию, у вас должен быть доступ к онлайн-панели управления с разделом настроек php.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...