Войти

Показать полную графическую версию : выбор размера изображения после его загрузки - PHP


by_gangster
30-05-2013, 20:58
Здравствуйте, имеется 2 кода php

<?php
error_reporting(0);
$allowed_filetypes = array('.jpg','.jpeg','.gif','.png','.bmp'); // Здесь мы перечисляем допустимые типы файлов

$max_filesize = 3000000; // Максимальный размер загружаемого файла в байтах (в данном случае он равен 3 Мб).

$uploaddir = 'files/' .date("d.m.y") . '/'; mkdir($uploaddir); // Место, куда будут загружаться файлы (в данном случае это папка 'files').

$filename = date("YmdHis").rand(100,1000).$_FILES['userfile']['name']; // В переменную $filename заносим точное имя файла (включая расширение).

$ext = substr($filename, strpos($filename,'.'), strlen($filename)-1); // В переменную $ext заносим расширение загруженного файла.

// Сверяем полученное расширение со списком допустимых расширений, которые мы определили в самом начале. Если расширение загруженного файла не входит в список разрешенных, то прерываем выполнение программы и выдаем соответствующее сообщение.

if(!in_array($ext,$allowed_filetypes))
die('<center><div class="info"><div id="info">Тип файла не поддерживается.</div></center>');

// Теперь проверим размер загруженного файла и если он больше максимально допустимого, то прерываем выполнение программы и выдаем сообщение.

if(filesize($_FILES['userfile']['tmp_name']) > $max_filesize)
die('<center><div class="info"><div id="info">Файл слишком большой.</div></center>');

// Загружаем файл в указанную папку.

if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploaddir . $filename))
{
header('Location: file.php?var1=' . urlencode($uploaddir) . '&var2=' . urlencode($filename), 302);
exit;
}
else
{
echo '<center><div class="info"><div id="info">При загрузке возникли ошибки.</div></center>';
}
?>

И второй

<?php
$var1 = htmlentities($_GET['var1']);
$var2 = htmlentities($_GET['var2']);
echo '<center>

<div id="info">Ваша картинка успешно загружена <p><a href="'.'http://'.$_SERVER["HTTP_HOST"] .'/'.$var1 . $var2.'" target="_blank"><img src="'.'http://'.$_SERVER["HTTP_HOST"] .'/'.$var1 . $var2.'" style="margin-top:-5px;box-shadow: 0px 0px 30px #00CE2D" width="45%"></div></center>';


Тоесть это скрипт загрузки изображений на сервер, нужно сделать что-бы был выбор размера изображения после его загрузки (360px и т.д), или что бы остался оригинальный и всё... Прошу объяснить как реализовать

mrcnn
31-05-2013, 13:09
Размер изображения на странице или на диске?

На диске :
1. Класс Imagick, метод resizeImage. ( http://www.php.net/manual/en/class.imagick.php )
2. Класс Gmagick, метод resizeimage ( http://www.php.net/manual/en/class.gmagick.php )
3. функция imagecopyresized ( http://www.php.net/manual/en/ref.image.php )
4. возможно функция exif_thumbnail ( http://www.php.net/manual/en/function.exif-thumbnail.php )

На странице : с помощью HTML, CSS, JS




© OSzone.net 2001-2012