Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проверка ширины и высоты фотографий
 
 автор: FiX   (04.07.2005 в 22:04)   письмо автору
 
 


$size_file = 100;
if($HTTP_POST_FILES["file".$c2]["size"] >$size_file) {
print "Рамзер файла превышает максимально допустимый"; }


Этот код проверяет размер закачиваемого файла (фотки). А как сделать, чтобы он проверял ширину и высоту файлов (фотографии)?

   
 
 автор: krot   (04.07.2005 в 22:27)   письмо автору
 
   для: FiX   (04.07.2005 в 22:04)
 

попробуй составить формулу, вычисляющую высоту и ширину рисунка на основе его размера (у каждого формата рисунка своя формула)! я бы её придумал на ето надо много времени! если тебя заинтересовало могу описать процесс создания етой волщебной формулы!

   
 
 автор: FiX   (05.07.2005 в 01:09)   письмо автору
 
   для: krot   (04.07.2005 в 22:27)
 

А как же её создать? Формула, мне кажется, не такая уж и "долгая"... В исходном коде для вычисления размера файла этого, вроде бы и нет...

   
 
 автор: cheops   (05.07.2005 в 01:07)   письмо автору
 
   для: FiX   (04.07.2005 в 22:04)
 

Для этого необходимо воспользоваться функцией getimagesize() http://www.softtime.ru/dic/id_dic=336&id_group=15 библиотеки GDLib
<?php 
list($width$height$type$attr) = getimagesize("img/flag.jpg"); 
echo 
"<img src=\"img/flag.jpg\" $attr alt=\"getimagesize() example\" />"
?>

   
 
 автор: FiX   (05.07.2005 в 01:12)   письмо автору
 
   для: cheops   (05.07.2005 в 01:07)
 

Кажется, тут указана имя фотки. А если посетитель будет закачивать другую фотку?
Понимаю, что задаю глупые вопросы...

   
 
 автор: cheops   (05.07.2005 в 01:18)   письмо автору
 
   для: FiX   (05.07.2005 в 01:12)
 

Ну а вы подставьте нужное имя
<?php
  
list($width$height$type$attr) = getimagesize($_FILES["file".$c2]['name']);
?>

   
 
 автор: Boss   (05.07.2005 в 01:48)   письмо автору
 
   для: cheops   (05.07.2005 в 01:07)
 

Я бы предложил такой вариант:
Допустим ты загружаешь разные фотографии(Разных размеров). Тебе надо достигнуть единобразия по размеру, в общем привести их к одному рамеру.

<?php
$image 
$HTTP_GET_VARS['image'];
if (!
$max_width)
  
$max_width 80;
if (!
$max_height)
  
$max_height 60;

$size GetImageSize($image);
$width $size[0];
$height $size[1];

$x_ratio $max_width $width;
$y_ratio $max_height $height;

if ( (
$width <= $max_width) && ($height <= $max_height) ) {
  
$tn_width $width;
  
$tn_height $height;
}
else if ((
$x_ratio $height) < $max_height) {
  
$tn_height ceil($x_ratio $height);
  
$tn_width $max_width;
}
else {
  
$tn_width ceil($y_ratio $width);
  
$tn_height $max_height;
}

$src ImageCreateFromJpeg($image);
$dst ImageCreate($tn_width,$tn_height);
ImageCopyResized($dst$src0000,
    
$tn_width,$tn_height,$width,$height);
header('Content-type: image/jpeg');
ImageJpeg($dstnull, -1);
ImageDestroy($src);
ImageDestroy($dst);
?>


Суть скрипта: маштаб изображения будет прапорцианально уменьшен таким образом, чтобы заданные максимальные размеры не превышались, т.е. кидаешь фото 400*300, он его генерирует до 200*150. Вообщем максимально точно сохраняются прапорции изображения....

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования