Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> getimagesize i problem z jpg
vvooki
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2005

Ostrzeżenie: (0%)
-----


Witam,
robię funkcję do skalowania jpgów.
Plan wygląda tak:
plik jest upoladowany z formularza i wgrywany do katalogu
potem jest robiona prewka i jednocześnie wrzucana do odpowiedniego katalogu.
Dla niektórych jpgów (np. 800/600 zapisanych z Photoshopa przez "Save for web") wszystko działa jak trzeba.
Problem zacznyna się w przypadku gdy próbuję wrzucić nie zmieniany plik 1,3Mb (koło 2000/1800px) bezpośrednio z cyfrówki (nie obrabianą w PS) - plik jak najbardziej się przegyrwa na serwer a problem powstaje dopiero w momencie w którym przez getimagesize() próbuję pobrać typ pliku i wielkość - funkcja poprostu nie zwraca żadnych wyników.
Czy ktoś miał kiedyś taki problem? Może jest jakaś metoda, żeby obejść tą funkcję?

Pozdrawiam
guma

Ten post edytował vvooki 1.12.2005, 00:12:26
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
vvooki
post
Post #2





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 30.11.2005

Ostrzeżenie: (0%)
-----


Tak wygląda funkcja:
  1. <?php
  2. function img_resize($path,$w=0,$h=0,$quality=100,$save=''){
  3.  
  4.   echo $path;
  5.   $image_data=@getimagesize($path);
  6.   echo 'image_data: 0: '.$image_data[0].' 1: '.$image_data[1].' 2: '.$image_data[2].' 3: '.$image_data[3];
  7.  
  8.   if($save=='') header('Content-type: '.$image_data['mime']); else $save=eregi_replace('%ext',$gd_ext[$image_type],$save);
  9.  
  10.   if($w!=0){
  11.    $rapporto=$image_data[0]/$w;
  12.    if($h!=0){
  13.      if($image_data[1]/$rapporto>$h) $rapporto=$image_data[1]/$h;
  14.    }
  15.   }elseif($h!=0){
  16.    $tmp_h=$image_data[1]/$h;
  17.   }else{
  18.    return false;
  19.   }
  20.  
  21.   $thumb_w=$image_data[0]/$rapporto;
  22.   $thumb_h=$image_data[1]/$rapporto;
  23.  
  24.   $img_src=@imagecreatefromjpeg($path);
  25.  
  26.   $img_thumb=@imagecreatetruecolor($thumb_w,$thumb_h);
  27.   $result=@imagecopyresampled($img_thumb,$img_src,0,0,0,0,$thumb_w,$thumb_h,$image_data[0],$image_data[1]);
  28.   if(!$img_src||!$img_thumb||!$result) return false;
  29.  
  30.   $result=@imagejpeg($img_thumb,$save,$quality);
  31.  
  32.   return $result;
  33. }
  34. ?>

(IMG:http://forum.php.pl/uwaga.gif)
poprawiam
---
nospor



Linijka z echo na początku jest do testów.
Okazało się że jest ok to znaczy:
0: 2048 1: 1536 2: 2 3: width="2048" height="1536"

Ale prewki w dalszym ciągu się nie tworzą...
Może ktoś znajdzie co jest w tym kodzie źle?...
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 22:08