0

I am trying to allow my users to upload videos to my site and i have the php file upload but it will not work, it worked with images but once i changed it to video it stopped working this is the code

<?php
$allowedExts = array("mp4", "mov", "avi", "flv","mpg", "wmv", "3gp", "rm");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "video/mov")
|| ($_FILES["file"]["type"] == "video/avi")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/mpg")
|| ($_FILES["file"]["type"] == "video/wmv")
|| ($_FILES["file"]["type"] == "video/3gp")
|| ($_FILES["file"]["type"] == "video/rm"))
&& in_array($extension, $allowedExts))
  {
  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
    echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
    echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/" . $_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
      "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      }
    }
  }
else
  {
  echo "Invalid file";
  }
?>
7
Contributors
6
Replies
26
Views
4 Years
Discussion Span
Last Post by diafol
1

Quick guess: If the code works for images you maybe having a timeout problem due to the size of the videofiles, OR the filesize is larger than the allowed filesize.

Check the errorcode from $_FILES["file"]["error"]. The value 1 means the file is larger than the allowed filesize (from php.ini).

Greetings
Steen Andersen

0

Like dpste123 said:

Check the errorcode from $_FILES["file"]["error"]. The value 1 means the file is larger than the allowed filesize (from php.ini).

It's likely that this is a file size issue, in which case changing the config will help, but there are also other issues that could be affecting you. The $_FILES["file"]["error"] value will tell us exactly what the problem is, so we don't have to waste time guessing. You can compare the error code you get with the list in the manual.

0

Try these,,

if ((($_FILES["file"]["type"] == "video/mov")
    || ($_FILES["file"]["type"] == "video/avi")
    || ($_FILES["file"]["type"] == "video/x-msvideo")
    || ($_FILES["file"]["type"] == "video/flv")
    || ($_FILES["file"]["type"] == "video/x-flv")
    || ($_FILES["file"]["type"] == "video/mpg")
    || ($_FILES["file"]["type"] == "video/wmv")
    || ($_FILES["file"]["type"] == "video/3gp")
    || ($_FILES["file"]["type"] == "video/3gpp")
    || ($_FILES["file"]["type"] == "video/rm"))


|| ($_FILES["file"]["type"] == "video/x-msvideo")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/x-flv")
|| ($_FILES["file"]["type"] == "video/mpg")
|| ($_FILES["file"]["type"] == "video/wmv")
|| ($_FILES["file"]["type"] == "video/3gp")
|| ($_FILES["file"]["type"] == "video/3gpp")
|| ($_FILES["file"]["type"] == "video/rm"))
0

Any reason we're resurrecting a 3 year old thread? Anyhow very cumbersome. An array to store types would be easier IMO:

$vArray = ["video/mov", "video/avi", "video/x-msvideo", ...];
if(in_array($_FILES["file"]["type"], $vArray){
    //found
}
This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.