• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 698
  • Last Modified:

Video Size is limited

I have put a video uploader on my site and it is set to limit videos at 62MB as below.  However, I can upload videos at any size except videos over 8 MB.  What is limiting the size of the video to be uploaded? Is it the server?

$type = explode('.',$_FILES["file"]["name"]);
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
if ((( end($type) == "mpg")
|| (end($type) == "MPG")
|| (end($type) == "mpeg")
|| (end($type) == "MPEG")
|| (end($type) == "wmv")
|| (end($type) == "WMV"))
AND ($_FILES["file"]["size"] < 62000000))
  if ($_FILES["file"]["error"] > 0)
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
  //  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  //  echo "Type: " . end($type) . "<br />";
  //  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  //  echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

      $new_name = time().rand(1,9999999).".".end($type);
      "upload/" . $new_name);
      //echo "Stored in: " . "upload/" . $new_name;
       $inserted= "INSERT INTO `ajax_chat_video` (id, filename, title, career, student ) VALUES (
      // echo $inserted;
       $just = explode('.',$new_name);
       $sql = @mysql_query($inserted);
       $location = "/home/front/www/chat/upload/";  
       //$location = "upload/";  
       $command = "/usr/local/bin/ffmpeg -i ".$location.$new_name." -deinterlace -ar 44100 -r 25 -qmin 7 -qmax 9 ".$location.$just[0].".flv";
      //     $ffmpeg = exec($command);

$last_line = system($command , $retval);
       //echo $last_line.'<br/><br/>'.$retval.'<br/><br/>'.$command.'<br/><br/>';
      // $command = "ls -lh";
      // echo exec($command);
       //$command = "ffmpeg -i ".$location.$new_name." -r 1  -t 00:00:10 -f image2 ".$location.$just[0].".png";;
       $command = "/usr/local/bin/ffmpeg -i ".$location.$new_name." -an -ss 00:00:03 -an -r 1 -vframes 1 -y ".$location.$just[0]."%d.jpg";
       $ffmpeg = exec($command);
       //echo '<br/>'.$command.'<br/>';
       //echo '<br/>'.$ffmpeg.'<br/>';
      echo "The file has been uploaded!";
  echo "Invalid file, please try again. Type: ".end($type)." | Size: ".$_FILES["file"]["size"];

//echo 'OK OK OK OK OK OK OK OK OK OK ';

  • 2
1 Solution
Yes it is your server, it is a PHP thing. These major directives in PHP.INI limit the size of uploads:


The first is the maximum memory that one php session can use - if you upload a file larger than this you will exceed the memory the session can use and it will fail.

The second one is the maximum size of the data in an HTTP form post. Since your form uses HTTP POST to submit the file, this limits the file size. Since the file is usually base64 encoded, this number is actually larger than the real limit - e.g. if it is set to 20MB, your actual real filesize is more like 10-15MB.

Last one is self explainatory
Other things that can cause a large file upload to fail is the IIS/Apache server directly limiting the size of a request header, and also if the script times out before all the data can be uploaded this can also interrupt a file upload and not let it complete.


Lots of good info on the subject in the link above.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now