Здесь можно найти всё что Вам нужно! ⇒

Почта techsupport@web-rubik.ru

PHP скрипт загрузки изображений, с изменением исходного размера на установленный

Автор: © web-rubik

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


<?php /* Скрипт загрузки изображения с изменением размера */
if (isset($_POST[′down′])) {
	$images = $_FILES[′images′][′name′];
	$images = trim($images);
	$images = strip_tags($images);
	$y = date(′Y_m_d_H_i_s′);
	$types = array(′image/gif′, ′image/GIF′, ′image/png′, ′image/PNG′, ′image/jpeg′, ′image/JPG′);
	
	if (!in_array($_FILES[′images′][′type′], $types)) { /* Проверяем формат изображения */
		$_SESSION[′msg′] = " <strong>Фотография не загружена!</strong> Не допустимый формат изображения.."; }
	else {
		$final_width_of_image = 60; /* Нужный размер */
        $path_to_image_directory = ′images/orig/′; /* Папка для загрузки исходного изображения */
        $path_to_thumbs_directory = ′images/small/′; /* Папка для загрузки сжатого изображения */
		function createThumbnail($filename) {
			$final_width_of_image = 60;
            $path_to_image_directory = ′images/orig/′;
            $path_to_thumbs_directory = ′images/small/′;
            if(preg_match(′/[.](jpg)|(JPG)$/′, $filename)) { $im = imagecreatefromjpeg($path_to_image_directory . $filename); } 
			else if (preg_match(′/[.](gif)|(GIF)$/′, $filename)) { $im = imagecreatefromgif($path_to_image_directory . $filename); } 
			else if (preg_match(′/[.](png)|(PNG)$/′, $filename)) { $im = imagecreatefrompng($path_to_image_directory . $filename); }
  
            $ox = imagesx($im);
            $oy = imagesy($im);
            $nx = $final_width_of_image;
            $ny = floor($oy * ($final_width_of_image / $ox));
            $nm = imagecreatetruecolor($nx, $ny);
            imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy); /* Создаём пустое изображение */
					
            if(!file_exists($path_to_thumbs_directory)) { if(!mkdir($path_to_thumbs_directory)) { die("Возникли проблемы! попробуйте снова!"); }}
			imagejpeg($nm, $path_to_thumbs_directory . $filename); }
				
		if (isset($_FILES[′images′])) { 
            if (preg_match(′/[.](jpg)|(JPG)|(gif)|(GIF)|(png)|(PNG)$/′, $_FILES[′images′][′name′])) {
                $filename = $_FILES[′images′][′name′];
                $source = $_FILES[′images′][′tmp_name′]; 
                $target = $path_to_image_directory . $y.$filename;
                move_uploaded_file($source, $target);
                createThumbnail($y.$filename); /* Загружаем изображение */
				$_SESSION[′msg′] = " <strong>Фотография загружена</strong>.."; }}
		
	$target_path = ′images/orig/′;
	unlink($target_path . $y.$images); /* Удаляем исходное изображение */ }}
?>
            <form method="post" enctype="multipart/form-data">
                <label> Фотография</label><br>
                <input name="images" type="file"><br><br>
                <input name="down" 
                       type="submit" 
                       value="Загрузить"
                       style="border:solid 1px #000;
                              background-color:#000;
                              color:#FFF;
                              padding:10px;
                              padding-top:5px;
                              font-size:24px;
                              cursor:pointer;">
            </form>

Недавно делал систему комментариев в одном интернет проекте и при написании кода загрузки аватарки, столкнулся с задачей – “как загрузить изображение на сервер с изменением размера”. Как всегда я искал что-нибудь простое, без кучи кода и честно говоря, пришлось немного помучиться. В итоге у меня получился небольшой PHP код загрузки изображений на сервер с изменением исходного размера.

Как это работает:
Если загружаемый файл изображение, создаётся пустое изображение токогоже формата и уже на него копируется загружаемое изображение. Размер копии, можно устанавливать какой угодно.

Теперь создавая миниатюры при загрузки изображений на сервер, вы знаете, как легко можно поменять размер загружаемой иллюстрации, на нужный!

Так же вы можете скачать исходники и протестировать загрузку изображений на сервер у себя.



Понравилось 26  

Комментариев нет или


Оставить комментарий

Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru



←−−−