Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> загрузка картинок, загрузка картинки с ее копированием 
:(
    Опции темы
sayber
Дата 10.12.2006, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Код

 $url=rand(66666,999999999);
 $dirfoto="uploads/shop/".$url;
 $small_img = $_FILES["filename"]["tmp_name"];
 move_uploaded_file($small_img,$dirfoto."_sm".".jpg"); 


Как сделать чтоб картинка ....._sm загружалась 3 раза с тегами _sm , _med, _fu

То есть я хочу сделать загрузку на сервер картинки но с тремя размерами.
Допустим выбрав foto.jpg (размером 800х600) она загружаесться как
foto_sm.jpg (800х600)
foto_med.jpg (300х200)
foto_fu.jpg (100х80) 
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
champion
Дата 11.12.2006, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 272
Регистрация: 26.1.2005

Репутация: нет
Всего: 2



Тут тебя нужна функция по уменьшению имаг. Делай так:
Код

 function ResizeImage($file, $new_name, $width,$quality) {
   # $file-сам файл. $new_name - имя на выходе, $quality-качество на выходе
   $default = @ImageCreateFromJPEG($file);
   $old_x=imageSX($default);
   $old_y=imageSY($default);
   $new_w=(int)($width); 
   $thumb_w=$new_w;
   $thumb_h=($width*$old_y)/$old_x; // Вычисляет сам ширину имаги, чтобы нормально было
   if($old_x<$width) {
    $thumb_w=imageSX($default);
    $thumb_h=imageSY($default);
   }
   $thumb=ImageCreateTrueColor($thumb_w,$thumb_h);
   imagecopyresized($thumb,$default,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
   imagejpeg($thumb,$new_name, $quality);
   ImageDestroy ($default); 
 }
 #А теперь вызываешь
 $url=rand(66666,999999999);    
 $dirfoto="uploads/shop/".$url;    
 $small_img = $_FILES["filename"]["tmp_name"];    
 move_uploaded_file($small_img,$dirfoto."_sm".".jpg"); 
 $sizes=array(800,300,100);
 for($i=0;$i<2;$i++) {
  if($i==0) {
   ResizeImage($dirfoto."_sm".".jpg",$dirfoto."photo_sm.jpg", 800, 100); 
  }else   if($i==1) {
   ResizeImage($dirfoto."_sm".".jpg",$dirfoto."photo_med.jpg", 800, 100); 
  }  if($i==2) {
   ResizeImage($dirfoto."_sm".".jpg", $dirfoto."photo_fu.jpg", 800, 100); 
  }
 }

Вот так smile Где $dirfoto тут у тебя название загруженной картинки, а далее все уменьшаем.


--------------------
user posted image
PM MAIL   Вверх
Eugene_Bond
Дата 11.12.2006, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 3.9.2006

Репутация: 1
Всего: 4



Цитата(sayber @  10.12.2006,  21:42 Найти цитируемый пост)

$dirfoto="uploads/shop/".$url;
...
move_uploaded_file($small_img,$dirfoto."_sm".".jpg"); 


$dirfoto должен содержать полный путь от корня сервера.
то есть типа:

$dirfoto=$_SERVER['DOCUMENT_ROOT']."/uploads/shop/".$url;
PM MAIL   Вверх
Rom
Дата 11.12.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



Вопрос в догонку.
У меня на сервер картинку загружает, но если она большая (2,5м) не ресайзит. Подскажите в какую часть кода ставить set_time_limit(); пробовал так 

Код

if (move_uploaded_file($tmp_name,$pach))
                          {
                          set_time_limit(500);  
                         //скрипт ресайза
                         }


выдает ошибку 502
PM MAIL   Вверх
sayber
Дата 11.12.2006, 13:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Цитата(Rom @ 11.12.2006,  13:26)
Вопрос в догонку.
У меня на сервер картинку загружает, но если она большая (2,5м) не ресайзит. Подскажите в какую часть кода ставить set_time_limit(); пробовал так 

Код

if (move_uploaded_file($tmp_name,$pach))
                          {
                          set_time_limit(500);  
                         //скрипт ресайза
                         }


выдает ошибку 502

Это скорее из за разрешенного для закачки размера файла меньше 2.5 мега.

phpinfo(); посмотри
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
Rom
Дата 11.12.2006, 13:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 11.12.2006

Репутация: нет
Всего: нет



так файл то загружается, но представляете на главной странице сайта отображать 2,5 меговую картинку. Проблема именно с ресайзом. 1,5 меговую скрипт ресайзит а 2,5 уже нет. 
PM MAIL   Вверх
Eugene_Bond
Дата 12.12.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 3.9.2006

Репутация: 1
Всего: 4



Rom, используй ImageMagic и будет тебе счастье!
PM MAIL   Вверх
sayber
Дата 13.12.2006, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Как сделать размер фотографий не по ширине а высоте???


Это сообщение отредактировал(а) sayber - 14.12.2006, 03:59
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
sayber
Дата 14.12.2006, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Все разобрался

Код

$file = $_FILES["filename"]["tmp_name"];

    function ResizeImage($file, $new_name, $width,$quality) {
   # $file-сам файл. $new_name - имя на выходе, $quality-качество на выходе
   $default = @ImageCreateFromJPEG($file);
   $old_x=imageSX($default);
   $old_y=imageSY($default);
   $new_w=(int)($width); 
   $thumb_w=($width*$old_x)/$old_y;
   $thumb_h=$new_w;
   if($old_x<$width) {
    $thumb_w=imageSX($default);
    $thumb_h=imageSY($default);
   }
   $thumb=ImageCreateTrueColor($thumb_w,$thumb_h);
   imagecopyresized($thumb,$default,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
   imagejpeg($thumb,$new_name, $quality);
   ImageDestroy ($default); 
 }
 #А теперь вызываешь
 $url=rand(66666,999999999);    
 $dirfoto="uploads/shop/".$url;
 $dirfoto2="uploads/shop/".$url; 
 $small_img = $_FILES["filename"]["tmp_name"];    
 move_uploaded_file($small_img,$dirfoto."_fu".".jpg"); 
 $sizes=array(800,260,120);
 for($i=0;$i<2;$i++) {
  if($i==0) {
   ResizeImage($dirfoto."_fu".".jpg","uploads/shop/s_".$url.".jpg", 120,  80); 
  }else   if($i==1) {
   ResizeImage($dirfoto."_fu".".jpg","uploads/shop/m_".$url.".jpg", 260,  80); 
  }  if($i==2) {
   ResizeImage($dirfoto."_fu".".jpg", "uploads/shop/f_".$url.".jpg", 800,  80); 
  }
 }


Это сообщение отредактировал(а) sayber - 14.12.2006, 03:58
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
Nestrat
Дата 19.2.2007, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 28.10.2006

Репутация: нет
Всего: нет



Вот такая вот штука
Код

<?php
print_r($_POST);
echo "<br />";
print($_FILES["file"]["tmp_name"]);
?> 
<form action="" method="post">
<input name="file" type="file" style="width:250px;" /><br />
<input type="submit" />
</form>


Полный адрес показываеи только в IE

Код

print($_FILES["file"]["tmp_name"]);


говорит что пустая
Что это?

Это сообщение отредактировал(а) Nestrat - 19.2.2007, 01:29
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0975 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.