Follow along with the video below to see how to install our site as a web app on your home screen.
Бележка: This feature may not be available in some browsers.
<?php
define("MAX_FILES", 5); // колко файла максимално да може да се качват
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Multiple Upload</title>
<script type="text/javascript">
function add_input(count_input) // функция за създаване на повече полета за качване на файлове
{
if (count_input <= <?php echo MAX_FILES; ?>) // проверяваме дали сме достигнали максималния брой полета
{
document.getElementById("inputs").innerHTML += 'Файл '+count_input+':<input type="file" name="file[]" /><br />'; // добавяме ново поле към дива "inputs"
count_input += 1; // увеличаваме бройката им с 1
if (count_input <= <?php echo MAX_FILES; ?>) // отново проверяваме дали сме достигнали максималния брой полета
{
document.getElementById("add_input").innerHTML = '<a href="javascript:add_input('+count_input+')">Добави поле</a>'; // показваме бутона за добавяне на поле
}
else
{
document.getElementById("add_input").innerHTML = "; // ако сме стигнали максималния брой полета скриваме бутона за добавяне на ново
}
}
}
</script>
</head>
<body>
<?php
if ($_POST['submit'])
{
function preobr($var) { // функция за преобразуване на байтовете в KB, MB, GB и т.н.
$i=0;
while (floor($var) > 0) {
$var = $var / 1024;
$i++;
}
$var = $var * 1024;
if ($i == 1 || $var == 0) { $type = "B"; }
if ($i == 2) { $type = "KB"; }
if ($i == 3) { $type = "MB"; }
if ($i == 4) { $type = "GB"; }
if ($i == 5) { $type = "TB"; }
$var = round($var,2);
return $var." ".$type;
}
define("FOLDER", "files"); // тук може да окажете в коя папка да качва файловете
define("MAX_FILE_SIZE", 1000048576); // максималния размер на 1 файл (в байтове)
define("FILE_REPLACE", false); // дали да позволява презаписа на файлове с едно и също име. true – да, false – не
$exts = array('jpg','jpeg','png','gif' , 'mp3'); // позволени разширения за файловете
for ($i=0; $i<MAX_FILES; $i++) // правим цикъл, който да обходи всеки един от избраните за качване файлове
{
if ($_FILES['file']['size'][$i] > 0) // проверяваме за всяко поле дали е избран файл
{
echo "Файл <b>".($i+1).":</b><br /><br />Име: <b>".$_FILES['file']['name'][$i]."</b><br />Размер: <b>".preobr($_FILES['file']['size'][$i])."</b><br />Тип: <b>".$_FILES['file']['type'][$i]."</b><br /><br />";
if (in_array(strtolower(end(explode(".", $_FILES['file']['name'][$i]))), $exts)) // проверяваме дали разширението на файла е позволено
{
if ($_FILES['file']['size'][$i] <= MAX_FILE_SIZE) // проверяваме дали файла не прехвърля максималния размер
{
if (!file_exists(FOLDER."/".$_FILES['file']['name'][$i]) || FILE_REPLACE) // проверяваме дали файла вече не съществува и в зависимост какво сме нагласили го презаписваме или извеждаме грешка
{
if (@copy($_FILES['file']['tmp_name'][$i], FOLDER."/".$_FILES['file']['name'][$i])) // проверяваме файла за последно дали е качен
{
echo '<b><font color="green">Файла беше качен успешно!</font><br /><a href="'.FOLDER."/".$_FILES['file']['name'][$i].'" target="_blank">LINK</a></b>';
}
else
{
echo '<b><font color="red">Файла не беше качен!</font></b>';
}
}
else
{
echo '<b><font color="red">Файла не беше качен, защото вече съществува файл със същото име!</font></b>';
}
}
else
{
echo '<b><font color="red">Файла не беше качен, защото надвишава максималния размер от '.preobr(MAX_FILE_SIZE).'!</font></b>';
}
}
else
{
echo '<b><font color="red">Файла не беше качен, защото е с непозволено разширение!</font></b>';
}
echo "<hr>";
}
}
}
else
{
?>
<form action="" method="post" enctype="multipart/form-data">
Файл 1:<input type="file" name="file[]" />
<div id="inputs"></div>
<?php echo (MAX_FILES > 1) ? '<div id="add_input"><a href="javascript:add_input(2)">Добави поле</a></div>' : ""; ?>
<input type="submit" name="submit" value="Качи" />
</form>
<?php
}
?>
</body>
</html>