Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tworzenie miniaturek
Forum PHP.pl > Forum > PHP
Siner
Napsiałem founckje do tworzenia miniatur, na localhoscie pod windowsem wszystko idzie gładko, ale jak już wrzucę na serwer, nie robi się nic, poza wyswietleniem informacji, że coś poszło nie tak("źle").
  1. <?php
  2. $czcionka = '/usr/home/www/public_html/gal/lib/trebuc.ttf';
  3. $teskt = 'www.com.pl';
  4. function small($nazwa)
  5. {
  6.  $info = getImageSize($nazwa) ; 
  7. switch ($info['mime']) {
  8.  case 'image/gif':
  9.  if (imagetypes() & IMG_GIF)
  10.  { 
  11.  $kopia = imageCreateFromGIF($nazwa) ;
  12.  } else
  13.  {
  14.  $error = 'GIF<br />';
  15.  }
  16.  break;
  17.  case 'image/jpeg':
  18.  if (imagetypes() & IMG_JPG)
  19.  {
  20.  $kopia = imageCreateFromJPEG($nazwa) ;
  21.  } else
  22.  {
  23.  $error = 'JPEG<br />';
  24.  }
  25.  break;
  26.  case 'image/png':
  27.  if (imagetypes() & IMG_PNG)
  28.  {
  29.  $kopia = imageCreateFromPNG($nazwa) ;
  30.  } else
  31.  {
  32.  $error = 'PNG<br />';
  33.  }
  34.  break;
  35. default:
  36.  $error = $info['mime'].' Nie obslugujemy<br />';
  37.  break;
  38.  }
  39.  if (!isset($error))
  40.  {
  41.  $max_width = 120;
  42.  if($info[0] > $max_width)
  43.  {
  44. $new_size_width = $max_width;
  45. $new_size_height = round($info[1] * $max_width / $info[0]);
  46.  } else if($info[1] > 200)
  47.  {
  48. $new_size_width = $max_width;
  49. $new_size_height = round($info[0] * $max_width / $info[1]);
  50.  } else
  51.  {
  52. $new_size_width = $info[0];
  53. $new_size_height = $info[1];
  54.  }
  55.  $miniaturka = imagecreatetruecolor($new_size_width, $new_size_height);
  56.  imagecopyresized($miniaturka, $kopia, 0, 0, 0, 0, $new_size_width, $new_size_height, $info[0], $info[1]);
  57. putenv('GDFONTPATH=' . realpath('.'));
  58. $rozmiar = 10;
  59. $bialy = ImageColorAllocate($miniaturka, 255, 255, 255);
  60. ImageTTFText($miniaturka ,$rozmiar, 0, 5, 10, $bialy, $GLOBALS['czcionka'], $GLOBALS['teskt']);
  61. $nazwa = strtolower($nazwa);
  62. imageJPEG($miniaturka, $_SERVER['DOCUMENT_ROOT'].'/mini/'.$nazwa, 100);
  63. imageDestroy($miniaturka);
  64. imageDestroy($kopia);
  65. return true;
  66. }
  67.  else
  68.  {
  69. return false;
  70.  }
  71. }
  72.  
  73. $obraz = '1.jpg';
  74. if(small($obraz)) echo 'dobrze';
  75. else echo 'zle';
  76. ?>

Katalog ma prawa zapisu, server obsługuje gd.
Jojo
Skoro już masz w tej funkcji zmienną $error do której w trakcie wykonywania są przypisywane jakieś wartości, to możesz ją wyświetlić przed return false i zobaczyć co się w niej znajduje.
Siner
Własnie tak zrobiłem, i doszedłem, że serwer nie ma obsługi JPEG, tylko gif i png
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.