Изменяю размер картинки,но сохраняет не туда и не с тем именем!

Pr1de

Новичок
Изменяю размер картинки,но сохраняет не туда и не с тем именем!

Здравствуйте!
Есть функция которая изменяет размер картинки и сохраняет ее!

1)Как здеть что бы она сохраняла измененную картинку в эту же директорию в папку image!

2)Когда задаю имя измененной картинки,то сохраняется оно далеко не под этим именем!


PHP:
// Здесь был "код"
 

AmdY

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

Pr1de

Новичок
Я вставлял код в специальные теги!а он так криво вывелся!причем тут я!помогите плиз
PHP:
<? 
// Функция изменения размера изображения 
 function resizeimg($filename, $w, $h) 
  { 
    // определим коэффициент сжатия изображения, которое будем генерить 
    $ratio = $w/$h; 
    // получим размеры исходного изображения 
    $size_img = getimagesize($filename); 
    // Если размеры меньше, то масштабирования не нужно 
    if (($size_img[0]<$w) && ($size_img[1]<$h)) return true; 
    // получим коэффициент сжатия исходного изображения 
    $src_ratio=$size_img[0]/$size_img[1]; 

    // Здесь вычисляем размеры уменьшенной копии, чтобы при масштабировании сохранились  
    // пропорции исходного изображения 
    if ($ratio<$src_ratio) 
    { 
      $h = $w/$src_ratio; 
    } 
    else 
    { 
      $w = $h*$src_ratio; 
    } 
    // создадим пустое изображение по заданным размерам  
    $dest_img = imagecreatetruecolor($w, $h);   
    $white = imagecolorallocate($dest_img, 255, 255, 255);        
    if ($size_img[2]==2)  $src_img = imagecreatefromjpeg($filename);                       
    else if ($size_img[2]==1) $src_img = imagecreatefromgif($filename);                       
    else if ($size_img[2]==3) $src_img = imagecreatefrompng($filename);  

    // масштабируем изображение     функцией imagecopyresampled() 
    // $dest_img - уменьшенная копия 
    // $src_img - исходной изображение 
    // $w - ширина уменьшенной копии 
    // $h - высота уменьшенной копии         
    // $size_img[0] - ширина исходного изображения 
    // $size_img[1] - высота исходного изображения 
    imagecopyresampled($dest_img, $src_img, 0, 0, 0, 0, $w, $h, $size_img[0], $size_img[1]);                 
    // сохраняем уменьшенную копию в файл  
    if ($size_img[2]==2){ 
        $smallimage = tempnam("/tmp", "FOO").".jpg"; 
        imagejpeg($dest_img, $smallimage);                       
    } 
    else if ($size_img[2]==1){ 
        $smallimage = tempnam("c:\webservers\home\test2.ru\www", "FOO").".gif"; 
        imagegif($dest_img, $smallimage);                       
    } 
    else if ($size_img[2]==3){ 
        $smallimage = tempnam("/tmp", "FOO").".png"; 
        imagepng($dest_img, $smallimage);  
    } 
    // чистим память от созданных изображений 
    imagedestroy($dest_img); 
    imagedestroy($src_img); 
    return $smallimage;          
  }   
$filename="im.jpg";
$w=150;
$h=150;  
resizeimg($filename, $w, $h);  
?>
 

Pr1de

Новичок
Автор оригинала: Гравицапа
Pr1de
PHP FAQ: Ничего не работает! Что делать???
В "твоей" функции хватает комментариев, так что ты и сам сможешь без труда в ней разобраться.

Да ты шо....
$smallimage = tempnam("/tmp", "FOO").".jpg";

Я именял тут и путь и название не катит!че за понты?помоч трудно?
 

Bitterman

Новичок
1)Как здеть что бы она сохраняла измененную картинку в эту же директорию в папку image!

2)Когда задаю имя измененной картинки,то сохраняется оно далеко не под этим именем!
1. Задать соответствующий путь
2. В каком именно месте ты задаешь имя измененной картинки?

Прочти внимательней мануал по tempnam
 
Сверху