ďťż
Podstrony
|
telcocafeChciałbym mieć np. losowy avatar na tym forum - losowany przez php - można podać adres av.php.png -lub jakoś tam to zrobić by oszukać forum i losowo wybierać?Wiem jak wylosować, ale jak to oszukać? Są obrazki w stylu: Twój IP to..... Jak to zrobić? skocz.pl skroc adres, i dodaj mu koncowke jpg :) O to chodzi :) - ale było coś w stylu Header:image/jpg czy jakoś tak - to chyba to. Jeśli wczytujesz w PHP (do zmiennej) obrazek, to musisz wysłać nagłówek, np. content-type: image/png. Ale jeśli przekierowujesz ścieżkę do pliku, nie musisz tego robić. A co do sposobu oszukania - tak jak pisał Kuba1530 - PHP dajesz gdzieś jako index i tylko szukasz serwisu, który skróci twój adres bez slasha na końcu :) Przykładowy sposób (tylko) wczytywania GIFów:{ header("content-type: image/gif"); $im = imagecreatefromgif('obrazek.gif'); imagegif($im); #imagedestroy($im); } Użytkownik DJ_ProG edytował ten post 06 luty 2007, 09:27 Lepiej nie mieć pośrednika w postaci takich serwisów i wrzucić skrypt losujący do katalogu o nazwie np. avatar.gif - skrypt o nazwie index.php. I zamiast używać gd do tego, lepiej po prostu include('obrazek.gif'); Zwykłe include zadziała? Przecież to będzie index.php - za pomocą include da się wstawić obrazek? @Einzeinbleth: a jeśli Twój serwer wymaga slasha na końcu, to pomysł pada... dlatego czasem używa się aliasów ;) @up: Zależy jak rozumiesz "wczytać" :) AFAIR, to będzie tak, jakbyś do zmiennej pobrał zawartość obrazka (fread) i echem go wyświetlił ;) Najlepiej sam sprawdź! Użytkownik DJ_ProG edytował ten post 06 luty 2007, 13:27 zrob skrypt w pliku skrypt.php a na forum podaj adres http://nazwa.pl/skrypt.php/skrypt.jpg ;-) lub to zlookaj http://www.compzone....+avatar-31.html :> Użytkownik bikstopa edytował ten post 06 luty 2007, 13:46 Działa! A jak zrobić z innymi obrazkami niż gif (potrzebuję jpg)? EDIT: Znalazłem o wiele lepszy sposób: Otóż jako adres do obrazka podajemy: http://nazwa.pl/skry...img=obrazek.gif A kod PHP skrypt.php { header("content-type: image/gif"); $im = imagecreatefromgif($_GET['img']); imagegif($im); #imagedestroy($im); } Na moim kompie działa, sprawdzę na normalnym serwerze. Użytkownik Capitan V edytował ten post 06 luty 2007, 19:14 imagecreatefromjpeg header( 'Content-type: image/jpeg' ); Poza tym, tutaj masz spis funkcji obrazkowych. header('Location: '.$_GET['img']); I wszystko gra :) Użytkownik Coldpeer edytował ten post 07 luty 2007, 18:00 Ale jest problem z tym: $im = imagecreatefromgif($_GET['img']); @Coldpeer niby tak ale jak z rozszerzeniami? można funkcją explode(); rozbić obrazek.gif na "obrazek" i "gif", ale w adresie może być więcej kropek. Gdybym to ominął to by było uniwersalne. Użytkownik Capitan V edytował ten post 07 luty 2007, 20:13 Masz może to ;) <? ################################ $s = 'obrazek.lol.nup.xP.gif'; ################################ function laststrpos($s, $c) { # by DJ ProG B) $p = strpos(strrev($s),strrev($c)); if ($p === FALSE) $i = -1; else $i = strlen($s)-$p-1; return (integer)$i; } $p = laststrpos($s,'.'); $nazwa = substr($s,0,$p); $rozszerzenie = substr($s,$p+1); ?> @down: zgadza się, ale chciałem podać ostatnio napisaną funkcją :) Przyda się nie tylko w tym problemie. Poza tym, pamiętaj o tym, że rozwiązań jest wiele :) Ja zaproponowałem swoje ;) Użytkownik DJ_ProG edytował ten post 08 luty 2007, 16:48 Jest chyba łatwiejsze rozwiązanie - jak wiadomo rozszerzenie z kropką jest na końcu. Można więc funkcją explode() podzielić adres na tablicę, którą można posortować w kolejności odwrotnej funkcją krsort(). Wtedy wartość "gif" będzie pierwszym elementem w tablicy. Dzięki wszystkim za pomoc. Jest chyba łatwiejsze rozwiązanie - jak wiadomo rozszerzenie z kropką jest na końcu. Można więc funkcją explode() podzielić adres na tablicę, którą można posortować w kolejności odwrotnej funkcją krsort(). Wtedy wartość "gif" będzie pierwszym elementem w tablicy. Wydaje mi się, że szybsze będzie użycie $rozszerzenie = $t[count($t)-1]; ;) $rozszerzenie = strpos($adres, -3); I po co sobie utrudniać życie? (...) A skąd wiesz, czy rozszerzenie będzie składać się z trzech znaków? :) Może być np. "jpeg" :P Użytkownik DJ_ProG edytował ten post 09 luty 2007, 09:00 Czyli moim sposobem będzie najlepiej. Napiszcie jak zwolnić pamięć zmiennej w PHP. PHP sam dba o zarządzanie pamięcią. @down: ahh, nie pomyślałem ;) Użytkownik Coldpeer edytował ten post 09 luty 2007, 16:17 unset($zmienna); Mam wszystkie potrzebne info. Dzięki wszystkim za pomoc - temat uważam za ukończony. |
|||
Sitedesign by AltusUmbrae. |