PHP не может переместить загруженный файл - PullRequest
0 голосов
/ 20 ноября 2018

Я использую это form для загрузки изображения на мой PHP:

<form method="post" action="http://my.domain/media.php" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="10485760" />
    <input type="file" name="mediafile"></input>
    <input type="submit"></input>
</form>

И я использую этот код PHP для получения загруженного файла (изображения):

$mfn = "./upload_test.png";
if (move_uploaded_file($_FILES['mediafile']['tmp_name'], $mfn)) {
    if (file_exists($mfn)) {
        echo 'success';
    } else {
        echo 'Uploaded file didn\'t move to the requested path.';
        print_r($_FILES);
    }
} else {
    echo 'move_uploaded_file error<br/>';
    print_r(error_get_last());
    echo '<br/>';
    print_r($_FILES);
}

Когда я нажимаю кнопку отправки, move_uploaded_file возвращает ошибку.Итак, я перехватил данные отладки с помощью print_r(error_get_last()):

Array (
[type] => 2
[message] => move_uploaded_file(): open_basedir restriction in effect. File() is not within the allowed path(s): (/home/username/:/tmp:/var/tmp:/usr/local/lib/php/)
[file] => /home/username/domains/my.domain/public_html/media.php
[line] => 96 )

и с помощью print_r($_FILES):

Array (
[mediafile] => Array (
    [name] => test.png
    [type] => image/png
    [tmp_name] => /tmp/phpvoQr3i
    [error] => 0
    [size] => 38207 )
)

ПРИМЕЧАНИЕ: я не могу редактировать php.ini или любые другиеНастройки администратора.

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