Здравствуйте Гость!


Запомнить.
Авто. вход.
Забыли пароль?
Регистрация

ПОДПИСКА Подписавшись по E-mail, Вы будете получать уведомления о новых статьях к себе на почту.
Подписатся на почтовую рассылку на сайте astranar.ru
Подписаться



ДОБАВЛЯЙТЕСЬ В ДРУЗЬЯ Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте на стене моего аккаунта.
Мой аккаунт Вконтакте
Мой аккаунт
Главная - PHP - Загрузка файлов на сервер через php


Загрузка файлов на сервер через php


Загрузка файлов на сервер через php

Сейчас хочу показать вам как же можно осуществлять загрузку файлов на сайт.

На многих сайтах такая функция существует, для загрузки фотографий или музыки или каких то текстовых документов, или документов WORD и так далее. И в этой статья мы разберем подробно каждую строчку скрипта по загрузке файлов на сервер.

Для начала вам нужно создать папку file(туда будут загружаться файлы), затем файл с расширением php, теперь в созданный вами файл вставьте код приведенный ниже:

<form action = "" method = "post" enctype = 'multipart/form-data'>
<input style='background: #5973A8; color:fff; cursor:pointer;' type = 'file' name = 'file' />
<input type = \"submit\" value = \"Загрузить\" />
</form>
<?php
$blacklist = array(".php", ".phtml", ".php3", ".php4", ".html", ".htm", ".exe");
foreach ($blacklist as $key)
if(preg_match("/$key\$/i", $_FILES['file']['name'])) exit("Файл который вы пытались загрузить не является файлом допустимым к загрузке.");
$type = $_FILES['file']['type'];
$size = $_FILES['file']['size'];
if (($type != "image/jpg") && ($type != "image/jpeg") && ($type != "image/JPG") && ($type != "image/JPEG") && ($type != "image/gif") && ($type != "image/GIF") && ($type != "image/png") && ($type != "image/PNG") && ($type != "text/richtext")) exit;
if ($size > 5120000) exit("Фотография слишком большая, выберите другуЮ или обратитесь к администратору");

$rand_name = time();
$uploadfile = "file/".$rand_name."_".$_FILES['file']['name'];

$del_file = "file/".$rand_name."_".$_FILES['file']['name'];

if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
{echo<<<TXT
<div align=\\"center\\" style=\\"top:50px\\" >
Файл загружен
$uploadfile - Путь к файлу
</div>
TXT;
} else {
echo"Не загружено, что-то пошло не так. Попробуйте позже или обратитесь к Администратору.";
}
?>

А теперь давайте разберем этот скрипт.
1)С формой думаю все понятно, если нет то тут статья по созданию html форм.
2)Дальше идет переменная $blacklist, в ней занесен массив данных расширения файлов которые загружать нельзя.
2.1)Далее идет перебор этого массива в цикле foreach, и если загружаемый файл попадает в список с недопустимым расширением, то останавливаем выполнение скрипта.
3)Далее мы формируем две переменные $type и $size, с помощью переменной $type мы можем проверить тип файла и если тип файла не равен дозволенному останавливаем выполнение скрипта.
3.1)С помощью переменной $size мы определяем размер загружаемого файла, и если этот размер больше разрешенного нами то останавливаем выполнение скрипта.
4)Далее формируем переменную $rand_name, с помощью которой у нас будет формироваться уникальное имя загружаемого файла, а иначе если мы будем загружать файлы с одинаковыми именами то они будут перезаписывать друг друга.
5) Собственно мы осуществили все проверки, и если файл удовлетворяет всем нашими условиям то мы пользуемся командой move_uploaded_file, которая сохраняет загружаемый нами файл в указанную нами директорию. И далее мы проверяем, если файл сохранен то мы выводим сообщение об успешной загрузке файла.

Надеюсь я помог вам, удачи!



Просмотров страницы: 5404
Урок добавлен: 29 Января 2013

<<<Предыдущая статьяСледущая статья >>>

Копирование материалов разрешается только с указанием автора (Пальгов Олег) и индексируемой прямой ссылкой на сайт (https://astranar.ru/)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/palgov_oleg. Если Вы хотите оценить меня и мою работу, то напишите на стене моего аккаунта ВКонтакте.

Если Вы не хотите пропустить новые материалы на сайте, то Вы можете подписаться на обновления:
Подписаться на обновления


Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Ещё статьи по php:
Как передать несколько значений checkbox?
Защита php скрипта, межсайтовый скриптинг. Защита от атак на сайт!
Как сделать комментирование на своем сайте
Управляющие конструкции в PHP


Комментарии (0)


Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.
Загрузка файлов на сервер через php
Настоящий друг с тобой, когда ты не прав. Когда ты прав, всякий будет с тобой.

М. Твен


Вступайте в группу!