Уплоад скрипт с ...
Урока представлява един прост ъплоад скрипт при който ще дадем правото само на някои типове файлове да могат да се качват и да има максимална големина на качване ...

Урока е само от един index.php в който ще сложим всички функции :

<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
</head>
<?php
$site_link = "LINKA"; //Лйнк към сайта ви, където се намира ъплоад формата (отзад не слагайте /)
$upload_dir = "images/"; //Може да се смени с друга папка , която вие си пожелаете
$size_bytes = 151200; //Големината на файла в bytes
$extlimit = "yes"; //Да има лимит или не (yes/no)
$limitedext = array(".gif",".jpg",".png",".jpeg"); //Разрешени файлове за качване
//Далй папката в която ще се качват файловете съществува или не
if (!is_dir("$upload_dir")) {
die ("Грешка: Папката <b>($upload_dir)</b> не съществува");
}

if(isset($_POST['uploadform'])){
// Когато полето на формата е попалнено тогава ще се качват нещата
//Започване на ъплоад формата.

$file_tmp = $_FILES['filetoupload']['tmp_name'];
$file_name = $_FILES['filetoupload']['name'];
//Взимане на размера на файла
$file_size = $_FILES['filetoupload']['size'];

//Показване когато не е избран файл
if (!is_uploaded_file($file_tmp)){
echo "Грешка : Моля изберете файл за качване!. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit(); //Излиза от това и не прави нищо друго.
}


//Проверява дали големината на файла съвпада с допустимата
if ($file_size > $size_bytes){
echo "Грешка : Файла е твърде голям. Той трябва да бъде под <b>". $size_bytes / 1024 ."</b> KB. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
//Далй файла е от допустимите
$ext = strrchr($file_name,'.');
if (($extlimit == "yes") && (!in_array(strtolower($ext),$limitedext))) {
echo("Грешка : Този тип файл не е позволен за качване. ");
exit();
}


// Далй има такъв файл
if(file_exists($upload_dir.$file_name)){
echo "Името на файла <b>$file_name</b> вече е заето. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
$snimkata = $site_link."/".$upload_dir."".$file_name;
//На мястото на интервала (space) се слага "_".
$file_name = str_replace(' ', '_', $file_name);
//Местене на файла в папката която сме посочили отгоре на скрипта
//move_uploaded_file('filename','destination') С тази функция преместваме файла в избраната от нас диреактория
if (move_uploaded_file($file_tmp,$upload_dir.$file_name)) {
//Казва на потребителя кога файла е качен и дава лйнк към него
echo "<center>Файла (<a href=\"$upload_dir$file_name\">$file_name</a>) е качен успешно! <br><br>
<img src=\"".$site_link."/".$upload_dir."".$file_name."\" border=\"0\"><br>
<b>phpBB/IPB - снимката</b><br>
<input type=\"text\" value='[url=".$snimkata."][img]".$snimkata."[/img][/url]' size=\"100\"><br>
<b>HTML Оригинален размер с контур</b><br>
<input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=1></a>' size=\"100\"><br>
<b>HTML Оригинален размер без контур</b><br>
<input type=\"text\" value='<a href=".$snimkata."><img src=".$snimkata." border=0></a>' size=\"100\"><br>
<b>HTML Текстови линк</b><br>
<input type=\"text\" value='<a href=".$snimkata.">".$snimkata."</a>' size=\"100\"><br>
<b>Директен линк към оригинала</b><br>
<input type=\"text\" value='".$snimkata."' size=\"100\"><br>


»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}else{
//Показва грешка при провал на преместването
echo "Има проблем при преместването на вашия файл. <br>»<a href=\"$_SERVER[PHP_SELF]\">НАЗАД</a>";
exit();
}
//Край на ....
// Ако формата не е попълнена да се покаже това :
}else{
//Началото на else

// Проверяване на сички наши заявки (да не се надвишава големината , и да е един от избраните типове файлове от нас)
for($i=0;$i<count($limitedext);$i++){
if (($i<>count($limitedext)-1))$commas=", ";else $commas="";
list($key,$value)=each($limitedext);
$all_ext .= $value.$commas;
}

//Изложението
echo "<br><h3>Качване на файлове</h3>"
."- Позволени типове : $all_ext</b> <br>"
."- Максимална големина = ". $size_bytes / 1024 ."KB"
."<form method=\"post\" enctype=\"multipart/form-data\" action=\"\">"
."<input type=\"file\" name=\"filetoupload\"><br>"
."<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"$size_bytes\"><br>"
."<input type=\"Submit\" name=\"uploadform\" value=\"Качи\">"
."</form>";
}//Край на else

?>



Демо (благодарение на ProGame) : ЦЪК




/ Трябва да сте регистриран за да напишете коментар /
От: bik1998
20:56 08-09-2010
Мерси
От: kickme
17:25 19-11-2010
Ако го направиш да приеменува, че е добре.
От: warning_
23:33 30-01-2011
Демото неработи... :S
От: darkmas
11:23 26-02-2011
а пич моиш ли да е напраиш с база данни и секи потребител да качва снимка и да му се показва само неговуте снимки в неговия профил ??? смисал нешто като саитовете за сапознанства .. ??? ?
1