|
|
|
| Добрый день,
есть форма, с помощью которой нужно загружать по одному файлу на сервер. форма:
<p class="exit_uploads"><img src="close.gif" alt="Закрыть"></p>
<h1>Загрузка видео</h1>
<p>Выберите видеофайл и нажмите кнопку загрузки</p>
<div class="respon"></div>
<input id="video_file" name="video_file" type="file" />
<br>
<div id="run_upload_video">Начать загрузку</div>
<br>
<span style="font: 11px Arial;">* Максимальный размер видео: 100 Мб.<br>
* Видео может грузиться долго, наберитесь терпения.
</span>
</div>
|
js код скрипта:
$('#run_upload_video').click(function () {
$(".respon").ajaxStart(function(){
$(".respon").css("display","block").html("<p><img src='load.gif'> [...Ждите...]</p>");
});
$.ajaxFileUpload
(
{
url:'/video/',
secureuri:false,
fileElementId:'video_file',
dataType: 'json',
success: function (data, status)
{
if(typeof(data.error) != 'undefined')
{
if(data.msg == "1") { // расширение
$(".respon").html("<p>Ошибка: тип файла не подходит</p>");
} else if (data.msg == "2") { // что загружаем?
$(".respon").html("<p>Ошибка: вы не выбрали файл для загрузки</p>");
} else {
$(".respon").html(data.msg);
//$(".respon").html("<p>Статус: видео загружено</p>");
//$('.tinymce').tinymce().execCommand('mceInsertContent',false,data.msg);
}
}
},
error: function (data, status, e)
{
alert(e);
}
});
});
|
обработка на сервере:
function video () {
$error = "";
$msg = "";
$fileElementName = 'video_file';
if(!empty($_FILES[$fileElementName]['error']))
{
switch($_FILES[$fileElementName]['error'])
{
case '1':
$error = 'Максимальный размер загружаемых файлов ограничен в настройках php.ini';
break;
case '2':
$error = 'Загружаемый файл слишком большой';
break;
case '3':
$error = 'Данный файл можно загружать только по частям';
break;
case '4':
//$msg = '2';
break;
case '6':
$error = 'Не найдена временная папка';
break;
case '7':
$error = 'Ошибка записи файла на диск';
break;
case '8':
$error = 'Файл не загружен, расширение не подходит';
break;
case '999':
default:
$error = 'Не известная ошибка, обратитесь к администратору сайта';
}
}
elseif(empty($_FILES['video_file']['tmp_name']) || $_FILES['video_file']['tmp_name'] == 'none')
{
$msg = "2";
} else {
$msg = $_FILES['video_file']['tmp_name']." - file ok";
}
echo "{";
echo "error: '" . $error . "',\n";
echo "msg: '" . $msg . "'\n";
echo "}";
}
|
проблема в том, что пытаюсь загрузить flv файл, но $_FILES['video_file']['tmp_name'] постоянно пуста. Что делаю не так? в настройках стоит .htaccess установлено php_value upload_max_filesize 100M, файл размером 20 мегабайт
Для загрузки файлов используется jquery и плагин ajaxFileUpload | |
|
|
|
|
|
|
|
для: maximum7
(06.03.2010 в 16:24)
| | Этот же скрипт без проблем загружает любые изображения, а с видео проблема, грузит через раз и то, только в случае, если размер менее 10 метров. | |
|
|
|
|
|
|
|
для: maximum7
(06.03.2010 в 23:39)
| | значит у вас на сервере ограничен размер | |
|
|
|
|
|
|
|
для: AlexSol
(07.03.2010 в 07:59)
| | Я проверяю на локальном сервере, в настройках php.ini и .htaccess php_value upload_max_filesize установлено значение 100M | |
|
|
|
|
|
|
|
для: maximum7
(07.03.2010 в 12:40)
| | ; Maximum size of POST data that PHP will accept.
post_max_size = ? | |
|
|
|
|
|
|
|
для: sim5
(08.03.2010 в 04:01)
| | Да, вы как всегда правы, уже нашёл эту ошибку, теперь всё работает. Установил 100МБ и всё нормально.
Спасибо. | |
|
|
|