Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z tworzeniem miniaturek zdjęć
Forum PHP.pl > Forum > Przedszkole
tofik1778983
Witam
Mam taką oto funkcję do tworzenia miniatur. Gdy jest w jednym pliku tak jak w przykładzie działa jak trzeba..
przyklad:
  1. <?PHP
  2. $org='test.jpg';
  3. $prefix='min_';
  4. $width_min = 150;
  5. $height_min = 100;
  6. $zapisz_w='_min/';
  7.  
  8. function resize($org, $prefix, $width_min, $height_min, $zapisz_w)
  9. {
  10. $img = imagecreatefromjpeg($org);
  11. $width = imagesx($img);
  12. $height = imagesy($img);
  13. $img_mini = imagecreatetruecolor($width_min, $height_min);
  14. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_min , $height_min, $width , $height);
  15. imagejpeg($img_mini, $zapisz_w . $prefix . $org , 80);
  16. imagedestroy($img);
  17. imagedestroy($img_mini);
  18. return $img_min;
  19. }
  20. $min = resize($org, $prefix, $width_min, $height_min, $zapisz_w);
  21. ?>

Natomiast gdy wrzuciłem ją w mój skrypcik galerii tworzy miniatury ale puste (czarne) oraz wypluwa błąd:
  1. Warning: imagecreatefromjpeg(test.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\WebServ\httpd\plix\galeria\install.php on line 18

Pewnie coś z ścieżką, tylko skoro robi miniatury o nazwie pliku z którego ma ją zrobić (czyli ścieżka do pliku jest dobra) czemu miniatura jest pusta (czarna)questionmark.gif
flashdev
Z tego co widzę w skrypcie masz względne adresowanie, więc pewnie dlatego przestało działać po zmianie lokalizacji skryptu.

Przy pomocy funkcji file_exists możesz sprawdzić czy plik rzeczywiście tam istnieje, ale prawie na pewno go nie ma skoro dostajesz czarny obrazek.
tofik1778983
No dobra ale tworzy tą miniaturę o takiej nazwie jak oryginalny plik z którego ma ją stworzyć. Gdy by ścieżka była zła to wydaje mi się że nie znalazłby pliku i nie znał nazwy tego pliku.

No i w skrypcie ścieżki oczywiście mam zmienione. Próbowałem już nawet na "chybił trafił" ale dalej to samo tzn iny błąd ale wskazujący na to ze ścieżka jest rzeczywiście zła..

Chyba znalazłem odpowiedz na moje pytanie.. zdaje się że mam zbyt duże obrazki.. tzn pamięć przydzielona w php.ini.
Pamięć jest zbyt mała aby funkcja mogła przeskalować obrazki..
Dodam że niektóre są wielkości około 3000x2800 pixeli...
Jutro obczaje dziś padam.
nospor
Jesli php mowi ci, ze nie znalazl pliku to wiesz co to znaczy? To wlasnie znaczy ze nie znalazl pliku. To nie znaczy ze slonce nie swieci, to nie znaczy ze plik jest za duzy. To znaczy to co znaczy - nie znalazł pliku.

Cytat
No dobra ale tworzy tą miniaturę o takiej nazwie jak oryginalny plik z którego ma ją stworzyć. Gdy by ścieżka była zła to wydaje mi się że nie znalazłby pliku i nie znał nazwy tego pliku.

Ja tu widze:
$org='test.jpg';
czyli ty sobie podajesz nazwe na dodatek bez zadnej sciezki.

Cytat
Próbowałem już nawet na "chybił trafił"
Programowanie to nie totolotek... Weź sprawdź gdzie się ten plik znajduje a nie strzelasz.
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.