Что я должен добавить, чтобы это видео имело ограничение размера - PullRequest
0 голосов
/ 18 февраля 2010
<code><?php
if(isset($_POST['upload']))
{
 //$albumid = $_POST['id'];
  // Check to see if the type of file uploaded is a valid image type
  function is_valid_type($file)
  {
          // This is an array that holds all the valid image MIME types
          $valid_types = array("image/jpg", "image/jpeg", "image/bmp", "image/gif");

          if (in_array($file['type'], $valid_types))
                  return 1;
          return 0;
  }
  // Just a short function that prints out the contents of an array in a manner that's easy to read
  // I used this function during debugging but it serves no purpose at run time for this example
  function showContents($array)
  {
          echo "<pre>";
          print_r($array);
          echo "
";} // Установить некоторые константы // $ TARGET_PATH =" video / temp / "; $ TARGET_PATH =" video / "; // Получить наши переменные POSTed $ vidname = $ _POST ['vidname']; $ vidout= "$ vidname.wmv"; $ thumbname = "$ vidname"; $ video = $ _FILES ['video']; $ vidin = $ video ['name']; // Очистить наши входные данные $ vidname = mysql_real_escape_string ($ vidname); // $ video ['name'] = mysql_real_escape_string ($ video ['name']); $ vidin = $ video ['name']; // Построить полный путь к нашему целевому пути. Здесь будет файлmove do // ie images / picture.jpg $ TARGET_PATH. = $ video ['name']; // Убедитесь, что все поля формы имеют входные данные if ($ vidname == "" || $ video ['name')] == "") {echo "mali 1"; $ _SESSION ['error'] = "Все поля обязательны для заполнения"; // header ("Location: uploadvid.php");} // Позволяет попытаться переместить файлиз его временного каталога в новый дом if (move_uploaded_file ($ video ['tmp_name'], $ TARGET_PATH)) {// см. FFMPEG-PHP для windows // преобразовать любой видеоформат в формат WMV // exec ('c: /ffmpeg / bin / ffmpeg.exe -i video / temp /'.$ vidin. '-ar 11025 -ab 32 -f flv -s 320x240 video /'.$ vidout.' ');// создаем и получаем кадр из загруженного видео, чтобы сделать его миниатюрой.exec ('c: /ffmpeg/bin/ffmpeg.exe -i video /'.$ vidin.' -vcodec png -vframes 1 -an -f rawvideo -s 320 × 240 video / thumb /'.$ thumbname. '');exec ('c: /ffmpeg/bin/ffmpeg.exe -i video /'.$ vidout.' -an -ss 00:00:03 -t 00:00:01 -r 1 -y -s 320x240 video / thumb/'.$thumbname '').//unlink("video/temp/".$vidin);// ВНИМАНИЕ: здесь многие люди совершают ошибки.// Мы * не * помещаем изображение в базу данных;мы помещаем ссылку на местоположение файла на сервере echo $ v_id = $ _SESSION ['v_id'];$ sql = "select * from tvideo, где videoId = '$ v_id'";$ Результат = mysql_query ($ SQL);$ myrow = mysql_num_rows ($ result);if ($ myrow == 0) {$ sql1 = "вставить в значения tvideo (vthumbnail, vfilename) ('$ thumbname', '$ vidin')";$ result = mysql_query ($ sql1) или die («Не удалось вставить данные в БД:». mysql_error ());} else {$ sql2 = "update tvideo set vthumbnail = '$ thumbname', vfilename = '$ vidin', где videoId = '$ v_id'";$ result = mysql_query ($ sql2) или die («Не удалось обновить данные в БД:». mysql_error ());} // echo "hello
";$ tname = $ vidout;// echo "$ tname";// header ("Location: index_1.php");//выход;} else {// Распространенной причиной сбоев перемещения файлов являются неправильные разрешения на каталог, пытающийся быть записанным в // Убедитесь, что вы изменили каталог на доступный для записи $ _SESSION ['error'] = "Не удалось загрузить файл.Проверьте права чтения / записи в каталоге ";// header ("Location: index_1.php");выход;}}?>


Файл для загрузки:

1 Ответ

1 голос
/ 18 февраля 2010

Вы можете получить размер файла с

$_FILES['userfile']['size']

и прерывание, если оно слишком большое.

PS: я не думаю, что вы санировали ввод правильно - mysql_real_escape_string($vidname) не изменяет путь как C:\Windows\explorer.exe

...