Направете своята безплатна регистрация и се възползвайте от пълните възможности, които предлага iTSchool

Преглед на урок

Скрипт за качване на файлове

Скрипт за качване на файлове




Отваряме текстов редактор и въвеждаме:

Код
<html>
<head>
<title>Формуляр за качване</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
Файл:<input type="file" name="file" size="40"><br>
Ново име:<input type="text" name="name" size="50">
<input type="submit" value="Качване">
</form></body></html>

При въвеждане на ново име запазвайте файловото разширение!

Запазваме го като index.php (или index.html)

Сега и същинската част. Когато качваме файл, трябва да използваме тримерният масив $_FILES в следния синктаксис:

Код
$_FILES['име на файл']['свойство']

Под свойства се разбира име(name), тип(type), грешка(error), като те трябва да стоят в кавички ( ' ).
В нашият случай за 'име на файл' ще ползваме file (от горния формуляр).

Ето го и скрипта:

Код
<?php
if ($_FILES['file']['name'] !=""){
   copy($_FILES['file']['tmp_name'], $_POST['name']) or die ("Файлът не може да бъде качен!");
}else{
   die( "Няма избран файл!");
}
#Проверява дали има избран файл и дали може да бъде копиран.
#Синтаксис на функцията copy() : copy("файл","ново име на файла")
#В нашият слуай това е текущото име на файла и въведеното в формата ново име
?>
<html>
<head>
<title>Формуляр за качване</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php
$name = $_FILES['file']['name']; //Името
$size = $_FILES['file']['size']; //Големината (в байтове)
$type = $_FILES['file']['type']; //Вида на файла
?>
<a href="<?php echo ("$name"); ?>">Файлът</a> с размер <b><?php echo ("$size"); ?></b> байта от тип <b><?php echo ("$type"); ?></b> е качен успешно!
</body>
</html>

Запазвате това като upload.php и сме готови :)

Добре е за сигурността на сайта ви да правите проверка от какъв вид е файла, който се качва!!!

Код

if ($_FILES['file']['name'] != ""){
   if ($_FILES['file']['type'] == "image/jpeg"){
      copy($_FILES['file']['tmp_name'], $_POST['name']) or die ("Файлът не може да бъде качен!");
   }else{ die("Непозволено разширение!"); }
}else{ die("Няма избран файл!"); }

В този пример image/jpeg се отнася за файловете с разширение .jpg

Предоставен от: Skilful

Ако урокът ви допада, споделете го в Twitter и Facebook или го запазете в Delicious.




Урокът е добавен от: toddor

Коментари

ivelin4o

брат това последнота като какво даго сейфам става излиза всичко но последния файл под какво име да сейфам и в каква папка моля някой да помогне Скайп: ivo_i_krisko или kaspar4o9@abv.bg

svetlio2009

Много ви моля да помогнете или да добавите в кода за проверката на разширенията на файла, да може да проверява освен за картинка и за документ с програма word, както и за файл написан на notepad. Налага ми се да се качват освен картинки, също и текстови файлове. Благодаря!

Добави коментар

Трябва да сте регистиран потребител за може да оставяте коментари! Направете своята безплатна регистрация още сега.