Yii не будет перемещен_добавлен_файл — 500 внутренняя ошибка сервера

Я использую плагин загрузки файлов blueimp с Yii, чтобы попытаться загрузить файл на мой сервер (в настоящее время localhost). Я дал папке полные права на чтение / запись (расположение C: \ xampp \ htdocs \ yii), но я все еще получаю сообщение об ошибке, когда пытаюсь выполнить команду файла move_uploaded.

Вот основная форма и область входного файла:

<form id='upload' method='post' action='?r=site/move' enctype='multipart/form-data' style="padding:0;">
<span class="btn fileinput-button" style="padding:0">
<i class="glyphicon glyphicon-picture">
<input id="fileupload" type="file" accept="image/*" name="attachment" onchange="attachAttachment()">
</i>
</span>
</form>

Вот загрузка файла blueimp (в функции ()):

$("#fileupload").fileupload
({

dataType: 'json',

done: function (e, data)
{
console.log("YAY");
},

fail: function(e, data)
{
console.log("FAIL");
}
});

Вот actionMove, где я перемещаю файл из временного каталога в папку:

public function actionMove()
{
if (isset($_FILES['attachment']) && $_FILES['attachment']['error'] == 0)
{
if (move_uploaded_file($_FILES['attachment'], Yii::getPathOfAlias('webroot')."/images/uploads")){
$response = '{"status":"success"}';
}
else {
$response = '{"status":"error"}';
}

echo $response;
exit();
}
}

Я был в этом в течение нескольких часов, любая помощь приветствуется 🙁

0

Решение

$_FILES['attachment'] ссылается на все данные о загрузке. move_uploaded_file использует имена файлов для работы. Вот что вы должны попробовать:

$uploadPath = Yii::getPathOfAlias('webroot')."/images/uploads";
$uploadFilename = basename($_FILES['attachment']['name']);
$tempFilename = $_FILES['attachment']['tmp_name'];
$ok = move_uploaded_file($tempFilename, $uploadPath.'/'.$uploadFilename);
if ($ok) {
$response = '{"status":"success"}';
} else {
$response = '{"status":"error"}';
}

Подробнее об этом на страницах документации:
http://php.net/manual/fr/features.file-upload.post-method.php
а также
http://php.net/manual/fr/function.move-uploaded-file.php

Надеюсь, поможет.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector