Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wyświetlanie grafiki
Forum PHP.pl > Forum > PHP
psmoczynski
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 !!
lukaswoj
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
zeulus
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 ??
psmoczynski
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.
psmoczynski
z grafiką poza html:

wymóg klienta smile.gif
lukaswoj
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.
Blaster
nie rozumiem problemu :| . Chcesz brać <img> z innych katalogow ? , czy tam innych serwerow to tylko dajesz np <img src="http://adres.serwera/obrazek.gif">
lukaswoj
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.