Скрипт загрузки PHP – бережем спину своего сайта

Скрипт загрузки PHP

От автора: сижу криво, постоянно ойкаю! И все потому, что спину потянул, когда загружал картошку. Вот если бы правильно мешки подавали, то мой хребет не пострадал бы. Но благодаря этому появилось время написать правильный скрипт загрузки PHP, чтобы люди «не срывали» себе мозги, как я спину.

Сколько можно грузить!

Чем больше, тем лучше для ресурса. Если пользователи постоянно что-то скачивают и загружают с вашего сайта, то это значит, что он пользуется популярностью. Его публикации читают, контент востребован, и развитие ресурса идет в правильном направлении. Ну, прям, как наш сайт :) .

Но самохвальство в сторону! Займемся более насущными проблемами. Сегодня мы создадим модуль для загрузки различных изображений только указанных графических форматом. После этого мы отобразим их в браузере.

Разрабатываемый скрипт будет полностью функциональным и готовым к употреблению. Стилевые решения я использовал в минимальном объеме. Только для того, чтобы форма не выглядела чересчур минималистично.

В нашем примере мы разорвем тесную взаимосвязь MySQL и PHP. На практике чаще всего в загрузочных модулях данная СУБД используется не для хранения пересылаемых файлов (в том числе и графических форматов), а для их и мен и пути к ним на дисковом пространстве сервера.

Код формы

PHP скрипт загрузки файла разберем позднее. Сначала создадим соответствующую веб-форму.

С помощью атрибута enctype мы указываем браузеру, что при отправки данных на сервер (загрузке содержимого файла) не нужно применять кодирование. multipart/form-data используется и работает только при передаче информации с помощью метода POST. Далее следует разметка формы чуть-чуть приукрашенная с помощью внутренних стилей:

<html>
<head>
<title>Форма для загрузки изображений</title>
</head>
<body>
<div style="background:#00FFFF; width: 400px; border:5px double #FFCCCC;">
<form name="form_file" action="" enctype="multipart/form-data" method="post">
<h2>Форма загрузки изображений</h2>
<p><input type="file" name="path" title="Выберите файл в проводнике" style="background-color:rgb(255,102,204)"/> </p>
</br>
<p><input type="submit" name="button_submit" style="background-color:rgb(204,51,204); color:#CCFFCC;"/> </p>
</form>
</div>
</body>
</html>

Я сохранил форму как PHP-файл.

Обрабатываем загруженное

А это код PHP скрипта для загрузки изображений:

<?php
header('Content-Type: text/html; charset=UTF-8');
	$dir = './image';
	$ftype = array(
						 'jpg' => 'image/jpeg',
						 'png' => 'image/png',
						 'gif' => 'image/gif'
						);
	if(isset($_POST['button_submit']))
	{
		if(!empty($_FILES))
		{
			if(!in_array($_FILES['path']['type'], $ftype)){
				echo 'Tип файла не подходит для загрузки!';
				}
				$t = pathinfo($_FILES['path']['name']);
				$n = $dir .'/'. uniqid('path_') .'.'. $t['extension'];
				move_uploaded_file($_FILES['path']['tmp_name'],$n);
				header('Location: http://'. $_SERVER['HTTP_HOST'] .'/modul_upload_file/upload.php?name='. $n);
				exit;
		}
	}
	if(isset($_GET['name']))
		echo '<h1>Файл успешно загружен!</h1>';
	$imgdir = array_values(array_diff(scandir($dir), array('..', '.')));
	for($n = 0; $n < count($imgdir); $n++)
	{
		if($n % 2 == 0)
			echo '<br>'."\n";
		echo '<img src="'. $dir .'/'. $imgdir[$n] .'">'."\n";
	}
?>

Проверим созданный загрузочный модуль в действии:

Все работает вполне сносно. На сегодня достаточно, а я пойду лечить свою больную спину. Надеюсь, в ближайшем будущем картошка мешки картошки больше не сваляться на мой бедный хребет :) .

Курс по программированию на языке PHP

Изучите PHP с нуля до результата!

Смотреть курс

Метки:

Комментарии Вконтакте:

Комментарии Facebook:

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Я не робот.

Spam Protection by WP-SpamFree