![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
Witam. Próbuje stworzyć obrazek w php jednak, gdy zapisze plik to wyskakuje mi taki błąd "Obrazek http://smsy.ugu.pl/aa.php nie może zostać wyświetlony, ponieważ zawiera błędy.". Nie wiem czy na moim serwerze jest zainstalowana biblioteka GD ponieważ kożystam z darmowego serwera ugu. Czy ewentualny brak biblioteki jest przyczyną tego błedu czy też coś innego? Kod obrazka jest na 100% dobry bo brany z kursu i innym chodzi. I drugie moje pytanie brzmi czy obrazki pisane w php bedą miały rozszerzenie php czy mogą mieć jpg bo spotałem się z obrazkiem www.hackme.pl/Pedro/hackme.jpg który jak widac ma rozszerzenie jpg i wykonuje kod php zapisujące dane odwiedzających do tego pliku www.hackme.pl/Pedro/info.txt
I nie wiem czy obrazek ten został napisany tak jak ja chce to zrobić. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Nie, myślę, że brak GD nie jest winą, gdyby nie było GD dostałbyś ostrzeżenie o używaniu niezdefiniowanych funkcji.
Pokaż lepiej ten kod, to że kod był w kursie nic nie znaczy. Co do obrazków i rozszerzeń proponuję mod rewrite. Ten post edytował Shili 10.07.2008, 12:49:32 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
Kod <?php
// Przyjmijmy, że nazwa starego obrazka znajduje się w zmiennej // $stary_plik $rozmiar = GetImageSize($stary_plik); $stary = ImageCreateFromPNG($stary_plik); // Zmniejszymy jego rozmiar o 1/3, zobaczmy ile to będzie $nowa_szerokosc = round($rozmiar['0'] / 3 * 2); $nowa_wysokosc = round($rozmiar['1'] / 3 * 2); // Otwieramy nowy obrazek i nadajemy mu czarne tło $nowy = ImageCreate($nowa_szerokosc, $nowa_wysokosc); $czarny = ImageColorAllocate($nowy, 0, 0, 0); // Kopiujemy nowy obrazek // Określamy kolejno cel, Ľródło, współrzędne lewego, górnego // roku celu i Ľródła, oraz szerokość i wysokość celu i Ľródła // Jeśli wymiary różnią się między Ľródłem a celem, dokonane // będzie przeskalowanie ImageCopyResized($nowy, $stary, 0, 0, 0, 0, $nowa_szerokosc, $nowa_wysokosc, $rozmiar['0'], $rozmiar['1']); // Pozbywamy się starego obrazka ImageDestroy($stary); // Wstawiamy tekst // Liczba dwa określa jedną z 5 wbudowanych czcionek, można też // dodać własne funkcją ImageLoadFont(). Wstawiamy to w dolnym, // lewym rogu obrazka ImageString($nowy, 2, 5, $nowa_wysokosc - 5, "Copyright 2002", $czarny); // No to wyświetlamy header("Content-type: image/png"); ImagePNG($nowy); ImageDestroy($nowy); ?> |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Oczywiście, że błąd masz w kodzie, jeśli skopiowałeś poprawnie wszystko, co masz w pliku.
Musisz zdefiniować na początku całego pliku zmienną $stary_plik, której wartością jest ścieżka do obrabianego obrazka! Jest to napisane na samym początku. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
dodałem teraz na początku kodu to
Kod $stary_plik="commun.jpg"; i dodalem oczywiście obrazek commun.jpg ale błąd sie nie zmienił. Co teraz jest źle?
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 1 085 Pomógł: 231 Dołączył: 12.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
U mnie działa na localu.
Względnie wyłączyli raportowanie błędów u siebie na serwerze, dlatego nie widzisz informacji o funkcjach których nie ma. Spytaj się na ichnim forum najlepiej czy jest GD, lub wklej ten kod i daj znać co się pokaże:
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
Działa, ukazał się czarny prostokąt. Więc gdzieś mi sie wkradł błąd. Wobec tego mam pytanie jak zrobić, żeby rozszerzenie nie było php tylko jpg tak jak to jest tutaj Link
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 17 Dołączył: 19.03.2006 Skąd: z kosmosu ;) Ostrzeżenie: (0%) ![]() ![]() |
-------------------- Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian ![]() |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 341 Pomógł: 1 Dołączył: 19.11.2007 Ostrzeżenie: (10%) ![]() ![]() |
a wystarczy żeby plik na serwerze miał rozszerzenie htaccess i nazwe dowolną czy musi miec jakąś specjalną nazwe żeby automatycznie był przeanalizowany przez przeglądarke? Znalazłem taki kod htaccess
Kod <Files nazwa.jpg> ForceType application/x-httpd-php </Files> O takie cos chodziło? Umieściłem na serwerze plik htaccess o zawartości takiej jak w wyżej i jak próbuje włączyć plik już o rozszerzeniu jpg to nie otwiera się tylko zaczyna ściągać. Dlaczego tak jest i jak to powinno byc? Ten post edytował dark_root 11.07.2008, 19:39:15 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 03:09 |