Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyświetlanie grafiki
psmoczynski
post 17.05.2004, 13:31:56
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


Jeszcze raz. Mam na serwerze katalog z plikami graficznymi (same jpg). Katalog ten umieszczony jest poza strukturą plików serwera www.
Nazwy tych plików trzymam w mysql. Muszę wyświetlić w znaczniku img plik którego nazwę ściągnę z mysql. Trudność polega na tym że znacznik img jako argument przyjmuje ścieżkę do pliku i ścieżka ta nie może sięgać do pliku poza strukturą html. Jak to zrobić questionmark.gif

udało mi się zrobić to na dwa niezadowalające sposoby:
-umiem wyświetlić ten plik ale nie w znaczniku img tylko jako jedno zdjęcie i nic więcej w przeglądarce
-umiem sięgnąć po plik, skopiować go do struktury html i wyświetlić ale robi się wtedy bałagan

pomocy !!


--------------------
SMOK
Go to the top of the page
+Quote Post
lukaswoj
post 17.05.2004, 13:38:09
Post #2





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


No to ten sposób powinien Cię zadowolić.
Zrób sobie skrypt "obrazek.php", który jako argumenty będzie przyjmował dane potrzebne do identyfikacji jednego rekordu z tej tabeli z obrazkami (jakiś tam pewnie ID obrazka).

I ten skrypt niech po pobraniu nazwy obrazka, otwiera go poprzez fopen(), wysyla do przegladarki poprzez header() odpowiednie nagłówki (nagłówki mówiące o tym, że zaraz poleci obrazek) i potem wypluwa zawartość pliku "na ekran". Przeglądarka zachowa się tak jakby dostała obrazek z odpowiedniego pliku i wyświetli go smile.gif


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
zeulus
post 17.05.2004, 13:41:14
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 3
Dołączył: 17.05.2004
Skąd: Nowhere Land

Ostrzeżenie: (0%)
-----


czemu masz grafe poza serverem?? neiwazne...

moze sprobuj za pomoca funkcji z biblioteki graficznej.. jakis skrypcik ktory siega do mysql i zwraca image/jpeg czyli twoj rysunek...

tam jezeli sie nie myle bylo cos takiego

$im = createimagefromjpeg($sciezka);
i potem po prostu
imagejpeg($im)

chyba... :)

nazwij ten skrypcik sobie rysunek.php i includuj go do glownego skryptu...
tak mysle...

ale czemu masz grafe niedostepna przez http ??


--------------------
Google prawdę mówi, względów się wyrzeka...
Go to the top of the page
+Quote Post
psmoczynski
post 17.05.2004, 13:41:50
Post #4





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


to jest właśnie ta druga metoda
jeśli tak zrobisz to nie będziesz mógł wyświetlić nic innego niż obrazek

a ja muszę wyświetlić ten obrazek w odpowiednim miejscu strony (w tabelce) ale potrzebuję również wyświetlić całą resztę strony.


--------------------
SMOK
Go to the top of the page
+Quote Post
psmoczynski
post 17.05.2004, 13:43:13
Post #5





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 17.03.2004
Skąd: warszawa

Ostrzeżenie: (0%)
-----


z grafiką poza html:

wymóg klienta smile.gif


--------------------
SMOK
Go to the top of the page
+Quote Post
lukaswoj
post 17.05.2004, 17:11:02
Post #6





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat
to jest właśnie ta druga metoda
jeśli tak zrobisz to nie będziesz mógł wyświetlić nic innego niż obrazek

a ja muszę wyświetlić ten obrazek w odpowiednim miejscu strony (w tabelce) ale potrzebuję również wyświetlić całą resztę strony.


Niewiem czy to było do mojego posta, jeśli tak to nie masz racji.
Skrypt, który opisałem, jeśli go tak stworzysz to potem na stronie dajesz coś takiego:
Kod
<img src="SCIEZKA_DO_SKRYPTU/obrazek.php?id=334">


Wszystkie pliki pobierane przez przeglądarkę są pobierane przez protokół HTML, więc w skrypcie obrazek.php będzie istniała zmienna $_GET{'id'} i na jej podstawie będziesz w stanie wczytać zawartość odpowiedniego pliku, wysłać nagłówki "obrazkowe" i potem wysłać zawartość tego pliku.

Nie jestem w stanie teraz tego sprawdzić, ale pamiętam, że kiedyś właśnie w ten sposób realizowałem podobne zadanie, sprawdź to.


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post
Blaster
post 17.05.2004, 18:02:20
Post #7





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 2.03.2004

Ostrzeżenie: (0%)
-----


nie rozumiem problemu :| . Chcesz brać <img> z innych katalogow ? , czy tam innych serwerow to tylko dajesz np <img src="http://adres.serwera/obrazek.gif">


--------------------
Plastic Cup Politics
Go to the top of the page
+Quote Post
lukaswoj
post 17.05.2004, 18:07:54
Post #8





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 2.01.2004
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Blaster: jeśli chodzi o inne serwery to masz racje (mówię o takich, które są dostępne poprzez HTTP), ale koledze chodziło o pliki będące na tym samym komputerze, ale w drzewie katalogów niedostępnym poprzez HTTP


--------------------
Pozdrawiam
Łukasz Wojciechowski
New Generation Software
+48 602 214 629
http://www.ngsoft.pl
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.06.2025 - 14:52