PHP easy video upload form
Това е нашият html файл, който съдържа нашата ъплоуд форма. Можите да добавите ваш css файл за дизайн според вашия сайт. За това не поствам мой css код.
<center>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<pre>
<label for="file">Filename:</label>
</pre>
<input type="file" name="file" id="file" /> <br />
<input type="submit" name="submit" value="Submit" />
</form>
</center>
Създваме upload_file.php което фактически е нашият двигател на ъплоуд формата.
<?php
set_time_limit (100000); // лимит на времето за ъплоуд
setcookie("user", time()+3600);
$_FILES["file"]["size"] = round(($_FILES["file"]["size"] / 1048576), 2); // bytes to MB // конвертира байтове в мегабайтове
/////////////////////////////////////////////////
if ($_FILES["file"]["size"] > 7300400) // максимален размер на файла за ъплоуд
{
echo "Вашият файл е твърде голям. " . $_FILES["file"]["size"] . " MB <br />"; // ако файла е по-голям от 73000400 байта, което е около 70 МБ
return;
}
else
{
echo "Качване на Вашето видео."; // ако файла е до 70 МБ видеото се ъплоудва
}
// надолу проследяваме позволените видео формати
if ((($_FILES["file"]["type"] == "video/avi")
|| ($_FILES["file"]["type"] == "video/wmv")
|| ($_FILES["file"]["type"] == "video/WMV")
|| ($_FILES["file"]["type"] == "video/AVI")
|| ($_FILES["file"]["type"] == "video/quicktime")
|| ($_FILES["file"]["type"] == "video/MP4")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/xvid")
|| ($_FILES["file"]["type"] == "video/XVID")
|| ($_FILES["file"]["type"] == "video/wvx")
|| ($_FILES["file"]["type"] == "video/wmd")
|| ($_FILES["file"]["type"] == "video/vse")
|| ($_FILES["file"]["type"] == "video/vs4")
|| ($_FILES["file"]["type"] == "video/vp6")
|| ($_FILES["file"]["type"] == "video/vp7")
|| ($_FILES["file"]["type"] == "video/vp3")
|| ($_FILES["file"]["type"] == "video/vob")
|| ($_FILES["file"]["type"] == "video/vid")
|| ($_FILES["file"]["type"] == "video/vivo")
|| ($_FILES["file"]["type"] == "video/rm")
|| ($_FILES["file"]["type"] == "video/rmd")
|| ($_FILES["file"]["type"] == "video/qtl")
|| ($_FILES["file"]["type"] == "video/qtm")
|| ($_FILES["file"]["type"] == "video/qt")
|| ($_FILES["file"]["type"] == "video/qtch")
|| ($_FILES["file"]["type"] == "video/qtz")
|| ($_FILES["file"]["type"] == "video/ogm")
|| ($_FILES["file"]["type"] == "video/ogv")
|| ($_FILES["file"]["type"] == "video/ogx")
|| ($_FILES["file"]["type"] == "video/mvp")
|| ($_FILES["file"]["type"] == "video/mpg")
|| ($_FILES["file"]["type"] == "video/mpg2")
|| ($_FILES["file"]["type"] == "video/mpf")
|| ($_FILES["file"]["type"] == "video/mpeg4")
|| ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mpe")
|| ($_FILES["file"]["type"] == "video/mpl")
|| ($_FILES["file"]["type"] == "video/mp2v")
|| ($_FILES["file"]["type"] == "video/mov")
|| ($_FILES["file"]["type"] == "video/MOV")
|| ($_FILES["file"]["type"] == "video/moov")
|| ($_FILES["file"]["type"] == "video/modd")
|| ($_FILES["file"]["type"] == "video/moff")
|| ($_FILES["file"]["type"] == "video/mk3d")
|| ($_FILES["file"]["type"] == "video/meta")
|| ($_FILES["file"]["type"] == "video/m75")
|| ($_FILES["file"]["type"] == "video/m4v")
|| ($_FILES["file"]["type"] == "video/m4e")
|| ($_FILES["file"]["type"] == "video/m4u")
|| ($_FILES["file"]["type"] == "video/m2v")
|| ($_FILES["file"]["type"] == "video/3gp")
|| ($_FILES["file"]["type"] == "video/3GP")
|| ($_FILES["file"]["type"] == "video/h264")
|| ($_FILES["file"]["type"] == "video/hdmov")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/f4v")
|| ($_FILES["file"]["type"] == "video/fbr")
|| ($_FILES["file"]["type"] == "video/dvx")
|| ($_FILES["file"]["type"] == "video/divx")
|| ($_FILES["file"]["type"] == "video/dav")
|| ($_FILES["file"]["type"] == "video/dat")
|| ($_FILES["file"]["type"] == "video/d3v")
|| ($_FILES["file"]["type"] == "video/d2v")
|| ($_FILES["file"]["type"] == "video/3gpp2")
|| ($_FILES["file"]["type"] == "video/3gpp")
|| ($_FILES["file"]["type"] == "video/3GP")
|| ($_FILES["file"]["type"] == "video/3g2")
|| ($_FILES["file"]["type"] == "video/WMV")
|| ($_FILES["file"]["type"] == "video/x-ms-wmv")
|| ($_FILES["file"]["type"] == "video/264")
|| ($_FILES["file"]["type"] == "video/wma"))
&& ($_FILES["file"]["size"] < 70000000000000))
{
if ($_FILES["file"]["error"] > 0) // ако изкара грешка
{
echo "Error: " . $_FILES["file"]["error"] . "<br />"; // получаваме ерор
}
else
{
echo "Честито! Вашият видео файл" . "<pre>" .$_FILES["file"]["name"] . "</pre>" . "беше качен успешно!" . "<br />"; // ако всичко е наред получаваме успешен надпис
}
}
else
{
echo "Съжаляваме, но не поддържаме Вашият видео формат."; // ако формата не се поддържа
}
if ($_FILES["file"]["size"]["type"] > 0) //ако формата не се поддържа
{
echo "Формата " .$_FILES["file"]["type"]. " не се поддържа.". "<br><img src=systemstylestandarderror.png>". "Вижте списъка с поддържаните формати и пробвайте отново с друг формат. "; //изкарва грешка като в грешката се изписва формата на клипа, който не може да се качи
}
else {
echo "Формата " . $_FILES["file"]["type"] . " се поддържа. "; // ако се поддържа формата, кода продължава
}
if (( ($_FILES["file"]["type"] == "video/avi")
|| ($_FILES["file"]["type"] == "video/AVI")
|| ($_FILES["file"]["type"] == "video/quicktime")
|| ($_FILES["file"]["type"] == "video/wmv")
|| ($_FILES["file"]["type"] == "video/WMV")
|| ($_FILES["file"]["type"] == "video/mp4")
|| ($_FILES["file"]["type"] == "video/xvid")
|| ($_FILES["file"]["type"] == "video/wvx")
|| ($_FILES["file"]["type"] == "video/wmd")
|| ($_FILES["file"]["type"] == "video/vse")
|| ($_FILES["file"]["type"] == "video/vs4")
|| ($_FILES["file"]["type"] == "video/vp6")
|| ($_FILES["file"]["type"] == "video/vp7")
|| ($_FILES["file"]["type"] == "video/vp3")
|| ($_FILES["file"]["type"] == "video/vob")
|| ($_FILES["file"]["type"] == "video/vid")
|| ($_FILES["file"]["type"] == "video/vivo")
|| ($_FILES["file"]["type"] == "video/rm")
|| ($_FILES["file"]["type"] == "video/rmd")
|| ($_FILES["file"]["type"] == "video/qtl")
|| ($_FILES["file"]["type"] == "video/qtm")
|| ($_FILES["file"]["type"] == "video/qt")
|| ($_FILES["file"]["type"] == "video/qtch")
|| ($_FILES["file"]["type"] == "video/qtz")
|| ($_FILES["file"]["type"] == "video/ogm")
|| ($_FILES["file"]["type"] == "video/ogv")
|| ($_FILES["file"]["type"] == "video/ogx")
|| ($_FILES["file"]["type"] == "video/mvp")
|| ($_FILES["file"]["type"] == "video/mpg")
|| ($_FILES["file"]["type"] == "video/mpg2")
|| ($_FILES["file"]["type"] == "video/mpf")
|| ($_FILES["file"]["type"] == "video/mpeg4")
|| ($_FILES["file"]["type"] == "video/mpeg")
|| ($_FILES["file"]["type"] == "video/mpe")
|| ($_FILES["file"]["type"] == "video/mpl")
|| ($_FILES["file"]["type"] == "video/mp2v")
|| ($_FILES["file"]["type"] == "video/mov")
|| ($_FILES["file"]["type"] == "video/MOV")
|| ($_FILES["file"]["type"] == "video/moov")
|| ($_FILES["file"]["type"] == "video/modd")
|| ($_FILES["file"]["type"] == "video/moff")
|| ($_FILES["file"]["type"] == "video/mk3d")
|| ($_FILES["file"]["type"] == "video/meta")
|| ($_FILES["file"]["type"] == "video/m75")
|| ($_FILES["file"]["type"] == "video/m4v")
|| ($_FILES["file"]["type"] == "video/m4e")
|| ($_FILES["file"]["type"] == "video/m4u")
|| ($_FILES["file"]["type"] == "video/m2v")
|| ($_FILES["file"]["type"] == "video/3gp")
|| ($_FILES["file"]["type"] == "video/h264")
|| ($_FILES["file"]["type"] == "video/hdmov")
|| ($_FILES["file"]["type"] == "video/flv")
|| ($_FILES["file"]["type"] == "video/f4v")
|| ($_FILES["file"]["type"] == "video/fbr")
|| ($_FILES["file"]["type"] == "video/dvx")
|| ($_FILES["file"]["type"] == "video/divx")
|| ($_FILES["file"]["type"] == "video/dav")
|| ($_FILES["file"]["type"] == "video/dat")
|| ($_FILES["file"]["type"] == "video/d3v")
|| ($_FILES["file"]["type"] == "video/d2v")
|| ($_FILES["file"]["type"] == "video/3gpp2")
|| ($_FILES["file"]["type"] == "video/3gpp")
|| ($_FILES["file"]["type"] == "video/3g2")
|| ($_FILES["file"]["type"] == "video/264")
|| ($_FILES["file"]["type"] == "video/wma")
|| ($_FILES["file"]["type"] == "video/x-ms-wmv")
)
&& ($_FILES["file"]["size"] < 70000000000000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
//тук е формата за random rename
if (file_exists("upload/" . $_FILES["file"]["name"])) // ако файл със същото име съществува в папката upload/
{
// кодът поставя произволни числа пред името - т.е ако имаме файл с името haha.avi и се опитаме да качим същия файл отново, той ще бъде преименуван на 8534.haha.avi (8534 са примерни числа)
function findexts ($filename) // намира файла със същото име
{
$filename = strtolower($filename) ;
$exts = explode("[/.]", $filename) ;
$n = count($exts)-1;
$exts = $exts[$n];
return $exts;
}
$ext = findexts ($_FILES['file']['name']) ;
$ran = rand () ;
$ran2 = $ran.".";
$target = "upload/";
$target = $target . $ran2.$ext;
if(move_uploaded_file($_FILES['file']['tmp_name'], $target))
{
echo "<br>"."Вашият файл беше преименуван като"."<pre>".$ran2.$ext ."</pre>". "и скоро ще бъде монтиран!" . "</br>"; // изписва как е преименуван нашия файл
}
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Клипът Ви се намира в: " . "upload/". " под име: ". $_FILES["file"]["name"]; // изписва къде се съхранява преименувания файл
}
}
}
else
{
echo "Вашият видео файл не беше качен.";
}
?>