![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 0 Dołączył: 11.11.2007 Ostrzeżenie: (0%) ![]() ![]() |
Z tym skryptem (nie moim) jest coś nie tak:
Kod <? header("Content-type: image/png"); $img = $_GET['img']; // Wywalamy mozliwosc referencji poza katalogiem galerie $img = str_replace( ".." , "" , $img ); $ext = substr ( $img , strpos( $img , "." ) + 1 ); switch ( $ext ) { case 'gif': $im = imagecreatefromgif($img); break; case 'jpg': $im = imagecreatefromjpeg($img); break; case 'png': $im = imagecreatefrompng($img); break; case 'bmp': $im = imagecreatefromwbmp($img); break; } $sx = imagesx ( $im ); $sy = imagesy ( $im ); if ( $_GET['size'] == 1 && ($sx > 300 || $sy > 300) ) { $y = (300 * $sy) / $sx; $out = imagecreatetruecolor( 300 , $y ); imagecopyresampled( $out , $im , 0 , 0 ,0 , 0 , 300 , $y , $sx , $sy ); } elseif ( $_GET['size'] == 2 ) { $out = imagecreatetruecolor( 230 , 172 ); imagecopyresampled( $out , $im , 0 , 0 ,0 , 0 , 230 , 172 , $sx , $sy ); } elseif($_GET['size'] == 3) { $out = imagecreatetruecolor( 200 , 150 ); imagecopyresampled( $out , $im , 0 , 0 ,0 , 0 , 200 , 150 , $sx , $sy ); } elseif($sx > 80 || $y > 60) { $out = imagecreatetruecolor( 80 , 60 ); imagecopyresampled( $out , $im , 0 , 0 ,0 , 0 , 80 , 60 , $sx , $sy ); } else { $out = $im; } imagepng($out); imagedestroy($im); imagedestroy($out); ?> Mianowicie miniaturki z jpg i gif tworzy bardzo ładnie, ale nie radzi sobie z png i bmp (zamiast miniaturki jest czarny obrazek). Nie wiem za bardzo dlaczego. Poza tym nie tworzy miniaturek z obrazków nazywanych np. obrazek.costam.jpg, a więc z dwoma kropkami, co wynika ze specyfiki funkcji strpos. Można jakoś inaczej to rozwiązać? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat obrazek.costam.jpg, a więc z dwoma kropkami, co wynika ze specyfiki funkcji strpos. pathinfo" title="Zobacz w manualu PHP" target="_manual
Bezpieczniej basename" title="Zobacz w manualu PHP" target="_manual. Cytat ale nie radzi sobie z png i bmp (zamiast miniaturki jest czarny obrazek). PHP nie posiada obsługi BMP. Poszukaj na forum, bo linkowałem do odpowiedniej klasy. Co do PNG - sprawdź, w phpinfo" title="Zobacz w manualu PHP" target="_manual, czy interpreter ma wkompilowaną obsługę tego formatu. -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 16:07 |