Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Загрузка файлов с помощью ajaxFileUpload
 
 автор: maximum7   (06.03.2010 в 16:24)   письмо автору
 
 

Добрый день,

есть форма, с помощью которой нужно загружать по одному файлу на сервер. форма:

<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 в 23:39)   письмо автору
 
   для: maximum7   (06.03.2010 в 16:24)
 

Этот же скрипт без проблем загружает любые изображения, а с видео проблема, грузит через раз и то, только в случае, если размер менее 10 метров.

  Ответить  
 
 автор: AlexSol   (07.03.2010 в 07:59)   письмо автору
 
   для: maximum7   (06.03.2010 в 23:39)
 

значит у вас на сервере ограничен размер

  Ответить  
 
 автор: maximum7   (07.03.2010 в 12:40)   письмо автору
 
   для: AlexSol   (07.03.2010 в 07:59)
 

Я проверяю на локальном сервере, в настройках php.ini и .htaccess php_value upload_max_filesize установлено значение 100M

  Ответить  
 
 автор: sim5   (08.03.2010 в 04:01)   письмо автору
 
   для: maximum7   (07.03.2010 в 12:40)
 

; Maximum size of POST data that PHP will accept.
post_max_size = ?

  Ответить  
 
 автор: maximum7   (09.03.2010 в 15:07)   письмо автору
 
   для: sim5   (08.03.2010 в 04:01)
 

Да, вы как всегда правы, уже нашёл эту ошибку, теперь всё работает. Установил 100МБ и всё нормально.
Спасибо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования