Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak usunąć błędy z tworzenia miniaturek
Forum PHP.pl > Forum > Przedszkole
zebrowski1073
Warning: getimagesize(http://www.waznechwile.futurehost.pl/uploads/11/min) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 154

Warning: Division by zero in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 165

Warning: Division by zero in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 167

Warning: imagecreatefromjpeg(http://www.waznechwile.futurehost.pl/uploads/11/min) [function.imagecreatefromjpeg]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 169

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 170

Warning: imagecopyresampled() expects parameter 1 to be resource, boolean given in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 171

Warning: imagejpeg() expects parameter 1 to be resource, boolean given in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 172

Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 173

Warning: imagedestroy() expects parameter 1 to be resource, boolean given in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php on line 174

Warning: Cannot modify header information - headers already sent by (output started at /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/ustawienia/global.php:169) in /home/waznechwile/domains/waznechwile.futurehost.pl/public_html/admin/galeria.php on line 39

Wywala mi taki błędy, Oto kod php

  1. function zmiana_rozmiaru($kat,$file,$width_min,$height_min)
  2. {
  3. $min = '..'.$kat.'min/'.$file ;
  4. if(file_exists($min)) {} else {
  5. $foto = 'http://www.waznechwile.futurehost.pl'.$kat.$file;
  6. $check = GetImageSize($foto);
  7. $width = $check[0];
  8. $height = $check[1];
  9. if($width > $height)
  10. {
  11. $factor = $width/$height;
  12. $x_scale = $width_min;
  13. $y_scale= floor($x_scale/$factor);
  14. }
  15. else
  16. {
  17. $factor = $height/$width;
  18. $y_scale = $height_min;
  19. $x_scale= floor($y_scale/$factor);
  20. }
  21. $im = ImageCreateFromJpeg($foto);
  22. $thumb = ImageCreateTrueColor($x_scale,$y_scale);
  23. ImageCopyResampled($thumb, $im, 0, 0, 0, 0, $x_scale, $y_scale, $width, $height);
  24. ImageJPEG($thumb, $min , 80);
  25. imagedestroy($im);
  26. imagedestroy($thumb); }
  27. }
  28.  
  29. function gal($kat,$scierzka)
  30. {
  31. global $db;
  32. $i=0;
  33. $opis = '<div id="gallery">' ;
  34. $dir = opendir('..'.$scierzka);
  35. while(false !== ($file = readdir($dir))) {
  36. if($file != '.' && $file != '..')
  37. {
  38. $obraz = pathinfo($file) ;
  39. zmiana_rozmiaru($scierzka,$file,100,150) ;
  40. $org = 'http://waznechwile.futurehost.pl'.$scierzka.$file ;
  41. $min = 'http://waznechwile.futurehost.pl'.$scierzka.'min/'.$file ;
  42. $opis .= '<div class="pic"><a href="'.$org.'" title="'.$file.'">
  43. <img src="'.$min.'" alt="'.$file.'" /></a></div>';
  44. }}
  45. $opis .= '</div>' ;
  46. $zwrot[0] = $i ; $zwrot[1] = $opis ;
  47. return $zwrot ;
  48. }


  1. $i = gal(ustaw_katalog(),$_SESSION['dir']) ;
Kshyhoo
Przenoszę do Przedszkola, tam jest miejsce dla kogoś, kto nie potrafi znaleźć ścieżki do pliku.
zebrowski1073
Tworzy mi miniaturki wszystko jest oki ale wywala mi ciągle te błedy jak zabezpieczyć się przed tym
Kshyhoo
Przecież wszystko jasno napisane, wystarczy użyć translatora i pomyśleć.
Złe ścieżki, dzielenie przez zero, nie ten parametr...
KR2615
.... ale działa! smile.gif Może po prostu wyłączyć raportowanie błędów w PHP jeśli nie chce się pomyśleć lub dodać @ przed funkcjami które wywalają błąd? Domyślam się czym może on być spowodowany lecz nie widzę w Twoim kodzie linii numer 154 ani 172 więc pozostaje mi strzelać: Twój skrypt nie uwzględnia wyjatku polegajacego naa braku dostepu do obrazu. Powinien sie w tym momencie zatrzymac a nie pluc bledami.
Zigi
Rada z wygaszeniem/wyłączeniem błędów jest szkodliwą poradą. Później w razie poważniejszych problemów PHP może nie pokaże błędów dzięki. którym można by szybko zlokalizować problem.

@zebrowski1073 Dodaj sprawdzanie czy istnieje plik w ścieżce:
  1. $foto = 'http://www.waznechwile.futurehost.pl'.$kat.$file;

cicho założyłeś, że jak miniaturka (?) nie istnieje to plik w drugiej lokalizacji na pewno jest dostępny.
zebrowski1073
  1. function zmiana_rozmiaru($min,$foto,$width_min,$height_min)
  2. {
  3. $check = GetImageSize($foto);
  4. $width = $check[0];
  5. $height = $check[1];
  6. if($width > $height)
  7. {
  8. $factor = $width/$height;
  9. $x_scale = $width_min;
  10. $y_scale= floor($x_scale/$factor);
  11. }
  12. else
  13. {
  14. $factor = $height/$width;
  15. $y_scale = $height_min;
  16. $x_scale= floor($y_scale/$factor);
  17. }
  18. $im = ImageCreateFromJpeg($foto);
  19. $thumb = ImageCreateTrueColor($x_scale,$y_scale);
  20. ImageCopyResampled($thumb, $im, 0, 0, 0, 0, $x_scale, $y_scale, $width, $height);
  21. ImageJPEG($thumb, $min , 80);
  22. imagedestroy($im);
  23. imagedestroy($thumb);
  24. }
  25.  
  26. function rozszerzenie($plik)
  27. { preg_match("/\.([^\.]+)$/", $plik, $matches);
  28. return($matches[1]); }
  29.  
  30. function gal($kat,$scierzka)
  31. {
  32. global $db; $dir = new DirectoryIterator('..'.$scierzka); $i= 0 ;
  33. $opis = '<div id="gallery">' ;
  34. foreach($dir as $fileinfo)
  35. {
  36. $rozsz = rozszerzenie($fileinfo);
  37. if($rozsz == "jpg") {
  38. $min[$i] = '..'.$scierzka.'min/'.$fileinfo ;
  39. $org[$i] = '..'.$scierzka.$fileinfo ;
  40. $db->operacje("INSERT INTO fotki VALUES('".$i."',".$kat."','".$min[$i]."','".$org[$i]."')") ;
  41. $i++ ;
  42. }}
  43.  
  44. for($a=0; $a < $i; $a++)
  45. {
  46. zmiana_rozmiaru($min[$a],$org[$a],150,100) ;
  47. $org = 'http://waznechwile.futurehost.pl'.$scierzka.$fileinfo ;
  48. $min = 'http://waznechwile.futurehost.pl'.$scierzka.'min/'.$fileinfo ;
  49. $opis .= '<div class="pic"><a href="'.$org.'" title="'.$file.'"><img src="'.$min.'" alt="'.$file.'" /></a></div>';
  50. }
  51.  
  52. $opis .= '</div>' ;
  53. $zwrot[0] = $i ; $zwrot[1] = $opis ;
  54. return $zwrot ;
  55. }
  56.  


Po zastosowaniu tego błędy usuneły wcześniejszym skrypcje php wczytywał puste pliki czyli zamiast 3 fotek nie wiadomo było ich 6 w tym 3 piste które dzielił przez zero. Tworzył miniaturki teoretyczne nie z 3 lecz z 6
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.