Generowanie obrazków

0

Otóż teraz problem jest następujący.
Czy ktoś wie może jak odbywa się generowanie obrazków w locie. To znaczy, ktoś pobiera plik *.jpg i on jest generowany przy tym pobieraniu.

Domyślam się, iż mnie nie rozumiecie :)

Znalazłem podobne rozwiązanie, a nawet dwa:

  1. user image http://www.danasoft.com/vipersig.jpg

  2. http://www.lanet.wroc.net/gaj.html i chodzi o ten rysunek co sie nie ładuje.

Jak to się odbywa ?

0

[zmienione]
no to precz z tym kodem, co tu był.

[dopisane]
szczerze mówiąc, to po głębszym namyśle nie mam pojęcia, jak to jest zrobione. można tak skonfigurować sewer www, żeby pliki np.: o rozszerzeniu .jpg były obsługiwane przez php - tylko że jeśli plik jpg będzie prawdziwym obrazkiem, a nie skryptem, to ups.
więc no idea. [co]

0

Najwyrażniej sie nie zrozumieliśmy. Wiem, iż mozna tworzyć pliki graficzne przez php, ale w takim wypadku musimy otworzyć plik o roszezeniu php, nawet jeśli wyświetli nam się rysunek. Wiem o co chodzi.

Tylko ciekawi mnie i chciałbym to wiedzieć, jak te pliki(mając roższeżenie graficzne) są generowane ??

0

w httpd.conf:

AddType application/x-httpd-php-img .jpg
Action application/x-httpd-php-img "/php/php.exe"

heh może tak ??
A jak skrypt będzie wysyłał np jpg to w polu zawartości wsadzić application/x-httpd-php-img

// jeśli plik jpg będzie prawdziwym obrazkiem, a nie skryptem, to ups - ŁF

0

Hmm... A jeśli taki pliczek nie będzie skryptem, tylko zwykłym jpg to co wtedy wyświetla? Wyrzuca jakąś chińszczyznę, całkiem się wywala, czy coś jeszcze innego robi? Nie pokazuje po prostu obrazka?
P.S. Ten skrypcik generujący obrazek coś jest niedopracowany :D Ja mam Netscape 7.02, a on mi pokazuje Netscape/Mozilla 5 ;p

0

hm na tym serwerze nie widze innych jpg. może zorbili tylko na to rozszerzenie ?? ja bym tam ustawił właściwości dla 1 folderu z jpg i tyle

0

Hmm... A jeśli taki pliczek nie będzie skryptem, tylko zwykłym jpg to co wtedy wyświetla? Wyrzuca jakąś chińszczyznę, całkiem się wywala, czy coś jeszcze innego robi?

Zalezy od przegladarki, np IE sobie poradzi, o ile
oczywiście jakimś cudem w gaszczu bajtow prawdziwego
JPG jakimś cudem nie pojawi się ciąg &lt? :-D

0

Zalezy od przegladarki, np IE sobie poradzi, o ile
oczywiście jakimś cudem w gaszczu bajtow prawdziwego
JPG jakimś cudem nie pojawi się ciąg <? :-D

Hmm... No to nie pojmuję, bo przecież ciąg <? jest interpretowany przez serwer, nie przez przeglądarkę. Tak samo jak i skrypt PHP. Przeglądarka i tak otrzymuje obrazek w formacie jpg i tak go wyświetla, więc nie ma nic do rzeczy. Jedyną aplikacją, która operuje takim pliczkiem jest serwer.

0

Oj chłopaki :) Widze, że nic nie wiecie ;)

Sam nie moge tego pojąć [glowa]

Może pomoże wam to, co znalazłem, aby działał kod tego rysunku numer 1, na serwerze jest wymagane tylko: "PHP, GD/PNG and TTF". Jeśli ktoś ma jakiś pomysł, proszę o pomoc.

0

Hmm... No to nie pojmuję, bo przecież ciąg <? jest interpretowany przez serwer, nie przez przeglądarkę.
Tak samo jak i skrypt PHP.

zgadza się, to już wszyscy wiemy :p

ale przeglądarka sobie nie poradzi bo tu nagle zamiast
kolejnych bajtów JPGa otrzyma jakiś "parse error at line... "

myślę że to się raczej poprawnie nie wyświetli :-D

Przeglądarka i tak otrzymuje obrazek w formacie jpg i tak go wyświetla, więc nie ma nic do rzeczy.

ma, bo przeglądarek to nic nie obchodzi, są leniwe i czekają
na nagłówek Content-Type: image/jpeg, pomijając takiego IE
który otrzymując text/html i tak się domyśli że to jest JPG

nie mówię oczywiście o tagu IMG w którym z założenia wszystko jest wyświetlane...

0

Hmm... Zastanawiam się tylko, czy NIEZALEŻNIE od wszystkiego wszystko po <? jest zamieniane przez PHP, czy w momencie, gdy plik jest rozpoznawalny dla Apach'a jako jpeg (na podstawie nagłówka), to czy dalej "przepuszcza" go przez PHP... Jeśli tak, to sam już nie wiem... Tak czy inaczej, jeśli Apach wysyła Jpeg'a nawet wykreowanego przez skrypt PHP nie wysyła nagłówka text/html...

0

w .htaccess:

Redirect bleble.jpg bleble.php

Plik bleble.jpg może mieć 0 bajtów (czyli być tylko wpisem w FST).

Można np. popróbować z wyrażeniami reglarnymi, żeby pwszystkie pliki blabla[numerek].jpg przerzucało na image.php?id=[numerek] - jak najbardziej możliwe. Oczywiście z punktu widzenia przeglądarki i użytkownika, to nadal będzie oryginalny plik JPG, przekierowanie jest tylko po stronie serwera...

0

Hmm... Zastanawiam się tylko, czy NIEZALEŻNIE od wszystkiego wszystko po <? jest zamieniane przez PHP,

wszystko - w plikach z rozszerzeniem, dodanym do httpd.conf

czy w momencie, gdy plik jest rozpoznawalny dla Apach'a jako jpeg (na podstawie nagłówka)

hmm... o jaki nagłówek Ci chodzi ?
(wątpię żeby Apache zaglądał do nagłówka pliku, a chyba nie chodzi ci nagłówki http)

Tak czy inaczej, jeśli Apach wysyła Jpeg'a nawet wykreowanego przez skrypt PHP nie wysyła nagłówka text/html...

Jeśli jest wykreowany przez skrypt to na pewno jest to text/html o ile
nie wstawimy header('Content-Type: coś/innego') , tym samym jeśli
ustawimy parsowanie plików .jpg będzie analogiczna sytuacja...

0

My_nick mógłbyś dokładnie opisać jak ten plik w .htaccess utworzyć i gdzie?

0

Tworzysz plik o nazwie ".htaccess" o zawartości takiej jak wyżej i wrzucasz go do katalogu z obrazkiem. Obok niego plik o rozszerzeniu .jpg, pusty (np. tworzysz nowy plik TXT z mieniasz nazwę). No i plik PHP o odpowiedniej nazwie, w którym wstawiasz kod generujący obrazek - znalezienie takiego nie powinno być problemem, w manualu on-line na php.net jest masa nadesłanych przykładów.

PS. Jeśli twój serwer nie ma obsługi .htaccess, to niestety ten sposób nie przejdzie...

0

Wygląda na to, że mój serwer nie obsługuje tych plików, ale ja obsługuje serwer :)
Jak można włączyć obsługę?
ps. Starczy samo AccessFileName .htacces ??

0

W https.conf znajdź pierwszą wzmiankę o .htaccess (Ctrl+F) i w znajdującej się poniżej dyrektywie AllowOverride ustaw "All".

No i oczywiście "AccessFileName .htaccess" też musi być.

0

W dokumentacji apacha jest ładnie napisane, jak zmienić typ mime jednemu plikowi. Dajesz obrazek.jpg typ mime text/x-application-php czy jaki tam masz dla php, a reszta niech ma image/jpeg :D

0

jak na mój gust to takie dynamiczne jpeg-i robi sie za pomocą GD Graphics Library, ale nie jestem pewien; lookajcie: http://www.boutell.com/gd/

pozdrawiam :)

0
<?php
   header("Content-type: image/png");
   $string = $_GET['text'];
   $im    = imagecreatefrompng("images/button1.png");
   $orange = imagecolorallocate($im, 220, 210, 60);
   $px    = (imagesx($im) - 7.5 * strlen($string)) / 2;
   imagestring($im, 3, $px, 9, $string, $orange);
   imagepng($im);
   imagedestroy($im);
?> 

^^^ to jest przykład z manuala.... (http://www.php.net/manual/en/ref.image.php).. do opslugi tego skryptu potrzeba GD (patrz post ^ )

0

Tak to wiem, ale mi nie chodzi o samo pisanie przez PHP, a weryfikacje, aby np. jesli użytkownik nie był zalogowany to sie nic nie wyswietla, albo obrazek brak dostepu.

Pliki .htacces to jest to, dzieki za pomoc.

// Skonczcie i zablokujcie już ten temat ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1