Загрузка видео на сервер. Проблема...

Разработка своих веб-приложений и страничек

Загрузка видео на сервер. Проблема...

Сообщение Lil D » 29 сен 2008, 20:28

Есть скрипт загрузки видео на сервер с последующим преобразованием в формат "flv".
Проблема в том, что после нажатия кнопки "Загрузить" вместо выполнения SQL-запроса - $sql="insert into video set ID=$_SESSION[UID], title='$_REQUEST[field_myvideo_title]'... и т.д. скрипт возвращается к началу, т.е. заново проверяется условие - if($_REQUEST[action_upload]!="")... и естественно никакой загрузки не происходит. В таблице тоже никаких данных не появляется.
Второй день сижу, не могу понять что не так...
Код: Выделить всёРазвернуть
if($_REQUEST[action_upload]!="")
{
        if($_REQUEST[field_myvideo_title]==""){
         $err="Upload: Please Provide a video title.";
      }
        elseif($_REQUEST[field_myvideo_descr]==""){
         $err="Upload: Please Provide a video description.";
      }
        elseif($_REQUEST[field_myvideo_keywords]==""){
         $err="Upload: Please provide tag/s.";
      }
        elseif(count($_REQUEST[chlist])<1 || count($_REQUEST[chlist])>3){
         $err="Upload: Please check (1 to 3) channel/s.";
      }
        if($err==""){
         $page = "second";
         STemplate::assign('secondpage',"second");
         $listch=implode("|",$_REQUEST[chlist]);
         STemplate::assign('listch',$listch);
         $var = "<script language=javascript>
               var field_myvideo_title = $_REQUEST[field_myvideo_title];
               var field_myvideo_descr = $_REQUEST[field_myvideo_descr];
               var field_myvideo_keywords = $_REQUEST[field_myvideo_keywords];
               var listch = $listch;
               </script>";
         STemplate::assign("var", $var);
        }
}
if($_POST[upload_final]!=""){
        if($_FILES['field_uploadfile']['tmp_name']=="") $err="Please provide the video location.";
        if($err=="" && $_FILES['field_uploadfile']['tmp_name']!=""){
                $p=$_FILES['field_uploadfile']['name'];
                $pos=strrpos($p,".");
                $ph=strtolower(substr($p,$pos+1,strlen($p)-$pos));
                $space = round($_FILES['field_uploadfile']['size']/(1024*1024));
                if($config['enable_package']=="yes"){
                        check_subscriber($space);
                }
                if(($ph!="mpg" && $ph!="avi" && $ph!="mpeg" && $ph!="wmv" && $ph!="rm" && $ph!="dat") || $space>$config[max_video_size])
                $err="Invalid Video Format.";
        }
        if($err==""){
            $sql="insert into video set
                        UID=$_SESSION[UID],
                        title='$_REQUEST[field_myvideo_title]',
                        description='$_REQUEST[field_myvideo_descr]',
                        keyword='$_REQUEST[field_myvideo_keywords]',
                        channel='0|$_REQUEST[listch]|0',
                        space = '$_REQUEST[space]',
                        addtime='".time()."',
                        adddate='".date("Y-m-d")."',
                        vkey='".mt_rand()."',
                        type='$_REQUEST[field_privacy]',
                        filehome='$_REQUEST[p]'";
                $conn->execute($sql);
                $vid=mysql_insert_id();
                $vdoname=$vid.".".$ph;
                    if(isset($_FILES['field_uploadfile']['tmp_name']) && is_uploaded_file($_FILES['field_uploadfile']['tmp_name']))
                    {
                  $ff = $config[vdodir]."/".$vdoname;
                  if(move_uploaded_file($_FILES['field_uploadfile']['tmp_name'], $ff))
                  {   $mov = new ffmpeg_movie($ff);
                     video_to_frame($ff,$vid,&$mov,$listch[0]);
                     $duration=$mov->getDuration();
                     exec("$config[ffmpeg] -i $config[vdodir]/$vdoname -acodec mp3 -ar 22050 -ab 32 -f flv $config[flvdodir]/".$vid.".flv");
                  }
                       
                    }
                $key=substr(md5($vid),11,20);
                $sql="update video set
                        vdoname='$vdoname',
                        flvdoname='".$vid.".flv',
                        duration='$duration',
                        vkey='$key' WHERE VID=$vid";
                $conn->execute($sql);
                if($config['enable_package']=="yes")
                {
                        $sql = "update subscriber set used_space=used_space+$space, used_bw=used_bw+$space, total_video=total_video+1 where UID=$_SESSION[UID]";
                        $conn->execute($sql);
                }
                header("Location:$config[baseurl]/upload_success.php?viewkey=$key&upload=yes&vid=$vid");
        }
}
Lil D
Начинающий участник
 
Сообщения: 6
Зарегистрирован: 29 сен 2008, 20:13

Re: Загрузка видео на сервер. Проблема...

Сообщение zk » 29 сен 2008, 21:03

Кроме того что action_upload не передаётся скрипту, ничего больше из этого кода понять нельзя.
Наверное нужен полный код.
zk
Администратор
 
Сообщения: 1971
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Загрузка видео на сервер. Проблема...

Сообщение Lil D » 30 сен 2008, 15:23

action_upload прекрасно передается.
Покопавшись понял, что проблема в этом куске - if($err==""){ $sql="insert into video set и т.д.
Условие не проверяется, если загружается видео, но если загрузить файл другого формата (изменив при этом условие на if($err!="")), то (о чудо!) все прекрасно работает )))
Теперь не могу понять какое условие должно быть :unknown:
Lil D
Начинающий участник
 
Сообщения: 6
Зарегистрирован: 29 сен 2008, 20:13

Re: Загрузка видео на сервер. Проблема...

Сообщение Lil D » 02 окт 2008, 12:11

Как оказалось, скрипт прекрасно работает (значит руки у меня не очень кривые :) ), вся беда была в том, не загружаются видео размером больше 5 М :unknown: (наверное что-то в коде напутал), а я грузил видео размером 9 М
Lil D
Начинающий участник
 
Сообщения: 6
Зарегистрирован: 29 сен 2008, 20:13

Re: Загрузка видео на сервер. Проблема...

Сообщение Lil D » 02 окт 2008, 12:47

в php.ini - upload_max_filesize выставил, а post_max_size забыл ))))
Теперь все отлично работает ))
Lil D
Начинающий участник
 
Сообщения: 6
Зарегистрирован: 29 сен 2008, 20:13

Re: Загрузка видео на сервер. Проблема...

Сообщение zk » 02 окт 2008, 14:08

Это должно было отразиться в логах, надо было сразу туда посмотреть.
zk
Администратор
 
Сообщения: 1971
Зарегистрирован: 02 сен 2007, 16:04
Домен: vfose.ru

Re: Загрузка видео на сервер. Проблема...

Сообщение Lil D » 02 окт 2008, 18:43

Забыл я про них совсем ))) Видимо заработался )
Lil D
Начинающий участник
 
Сообщения: 6
Зарегистрирован: 29 сен 2008, 20:13


Вернуться в PHP, HTML, CSS...

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 141