Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]jak umieścić na stronie zdjęcie z poza katalogu strony
jolam
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


Witam serdecznie

Jak umieścić na stronie zdjęcie, które jest w katalogu innymi niż katalog strony ustawiony na serwerze? Dokładniej katalog ze zdjęciami jest wyżej o jeden poziom niż katalog ustawiony jako macierzysty dla strony.

Używając PHP wpisuję na początku ścieżki ".." i mam dostęp do tych plików. Ale jak je umieścić na stronie? Tak jak umieszcza się znacznikiem <img>?

Wiem, że jest funkcja header, ale ona wysyła mi zdjęcie do przeglądarki a mi chodzi o jego umieszczenie na stronie, tak żeby całość została wysłąna do przeglądarki.

Bardzo proszę o pomoc

pozdrawiam Jola
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 17)
jmail
post
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


utwórz sobie plik daj_zdjecie.php na przykład

a w nim wsadź (przykład dla jpg'a - z innymi typami będzie zbliżone)

  1.  
  2. if(isset($_GET['nazwa_obrazka'])){
  3. $nazwa_obrazka = $_GET['nazwa_obrazka'];
  4. }
  5.  
  6. $obrazek = imagecreatefromjpeg('sciezka/do/pliku/'.$nazwa_obrazka.'.jpg');
  7. header("Content_type: image/jpg");
  8. imagejpeg($obrazek);
  9. imagedestroy($obrazek);
  10.  



i teraz umieszczasz na stronie znacznik img w taki sposób

  1.  
  2. <img src="daj_zdjecie.php?nazwa_obrazka=nazwa_obrazka">
  3.  


Ten post edytował jmail 21.09.2009, 03:04:52
Go to the top of the page
+Quote Post
Fifi209
post
Post #3





Grupa: Zarejestrowani
Postów: 4 655
Pomógł: 556
Dołączył: 17.03.2009
Skąd: Katowice

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


Kolega po połowie mówi dobrze, ale nie używaj GD do tego bo tylko obciążysz serwer dodatkowo.

Zwykły header + readfile

@up
Nie Content_type a Content-Type

Ten post edytował fifi209 21.09.2009, 07:37:35


--------------------
Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Ale kombinujecie...

Cytat
Wiem, że jest funkcja header, ale ona wysyła mi zdjęcie do przeglądarki a mi chodzi o jego umieszczenie na stronie, tak żeby całość została wysłąna do przeglądarki.

Da się to zrobić bez PHP, nie ma sensu strzelać do muchy z armaty.

  1. mod_alias - w Apache to byłoby IMHO najwydajniejsze wyjście (zobacz w pliku konfiguracyjnym sposób zmapowania URL /manual/ albo /icons/)
  2. poprzez mod_rewrite:
    [APACHE] pobierz, plaintext
    1. RewriteEngine On
    2. RewriteRule zdjecia/(.+)$ ../superTajnyKatalogNaFocie/$1 [L,NC]
    [APACHE] pobierz, plaintext


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
jolam
post
Post #5





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


jmail napisał działające rozwiązanie.

fifi209 zgadzam się, że to bez sensu tak obciążać serwer. Ale używając header i readfile, udaje mi się jedynie wysłać plik do zapisania albo wyświetlić krzaczki.
Teraz nie mogę zajrzeć do moich pliczków ale mam w show.php:

header('Content-type: image/jpg'); /* dodanie innych np content-lenght też nic nie daje */
header('Content-Disposition: inline; filename="image.jpg"');
readfile("$path");

w plikach html mam:
<img src="show.php">


Bardzo mi zależy, żeby to zrobić w php w jak najprostszy sposób bez imagejpeg

erix chcę, żeby to działało bez mod_rewrite. Tylko za pomocą php.


Pomóżcie mi, proszę. Szukałam w internecie i albo jest rozwiązanie z imagejpeg albo nic.


pozdrawiam serdecznie Jola

Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
erix chcę, żeby to działało bez mod_rewrite. Tylko za pomocą php.

Ale PO CO? To jest bez sensu, aby do czegoś, co bez problemu wykona serwer, zaprzęgać niepotrzebnie serwer. Żeby przenieść meble z jednego pokoju do drugiego też dzwonisz po ekipę pomagającą w przeprowadzkach?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post
Post #7





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Spróbuj jeszcze jednego rozwiązania... Ja go używam do wyświetlania ikon, których nazwy są przechowywane w bazie i są w normalnej strukturze katalogów, ale łatwo go można wstawić inline.
  1. header("Content-type: image/png");
  2. $zapytanie = mysql_query( "SELECT localization FROM icons WHERE icon_id=".$jakis_id );
  3. $wynik = mysql_fetch_assoc($zapytanie);
  4. echo file_get_contents("../images/icons/".$wynik['localization']);

Bez używania GD. Na pewno w normalnej strukturze działa, a czy dla wyskoczenia poza katalog główny to musisz sama sprawdzić bo tak tego nie testowałem smile.gif


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
jolam
post
Post #8





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


erix dla ciebie wszystko jest proste i zawsze wiesz wszystko najlepiej ...


Jeśli ktoś wie jak to zrobić z tym header, to bardzo proszę o pomoc. Zależy mi na tym bardzo rolleyes.gif
A jak nie to ślicznie dziękuję.


pozdrawiam Jola
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
erix dla ciebie wszystko jest proste i zawsze wiesz wszystko najlepiej ...

Przecież dostałaś na tacy ode mnie, co trzeba zrobić. Rusz swoje cztery litery i do roboty, a nie zrzędzisz i udajesz wielce nieporadną czekając aż ktoś ZA CIEBIE zrobi.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post
Post #10





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Cytat(jolam @ 21.09.2009, 13:17:19 ) *
erix dla ciebie wszystko jest proste i zawsze wiesz wszystko najlepiej ...
Gdyby wszystko wiedział, to by nie zadawał pytań co jakiś czas winksmiley.jpg Podał Ci proste rozwiązanie problemu, które nie angażuje do pracy interpretera php ale serwer http, co teoretycznie powinno być wydajniejsze. W końcu nie określiłaś wcześniej, że htaccess nie może być użyty. Informatyka to wredna nauka, bo jeden problem mozna rozwiązać na wiele sposobów i dlatego trzeba szczegółowo określać problem oraz potrzeby. Przykład miałem przed chwilą. Handlowiec chciał by po edycji pola w tabeli wracało do rekordu edytowanego. Problem w tym, ze całość tabeli jest generowana przez jQuery ( jquery.quicksearch.js ), więc musiałbym najpewniej skorzystać z ajax by oczekiwany efekt osiągnąć. A poradzilem sobie o niebo prościej. Założyłem, że nie muszę przechwytywać jakie ograniczenie wpisano w polu szukania (spytałem handlowca czy mu przeszkadza że nie dostanie tego samego co przy zastosowaniu ograniczenia) i zrobiłem banalne przekierowanie headerem na kotwicę po update danych. Po co sie więc męczyć, kombinować, skoro czasem można coś rozwiązać bez uciekania do nie wiadomo jak skomplikowanych metod i sięgania po bardziej wymyślne technologie tylko po to by jakąś swoją ambicje zaspokoić? A htaccess jest banalny w porównaniu do kombinowania z php.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
jolam
post
Post #11





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


Nie mogę użyć konfiguracji apache. I dlatego muszę to zrobić w php.

Jeśli ktoś wie jak to zrobić albo wie gdzie to jest pokazane to bardzo, ale to bardzo proszę o pomoc. Ja nie wiem, gdybym wiedziała to nie prosiłabym erixa o pomoc - przecież on lubi się tylko wymądrzać a nie pomagać innym.

Jeszcze raz bardzo proszę, powiedzcie gdzie mam błąd i jak mam go naprawić aby wyświetlić te zdjęcia na stronie.


pozdrawiam Jola
Go to the top of the page
+Quote Post
nowy_pehapowiec
post
Post #12





Grupa: Zarejestrowani
Postów: 220
Pomógł: 0
Dołączył: 24.08.2009

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


Też używałemm imagejpeg() potem przeszedłem na mod_rewrite jak erix dobrze radził. Ale ciekawe czemu kod tej Jolki nie działa. Nawet sprawdziłem z ciekawości u siebie. Czysto teoretycznie podbijam pytanie jolam, kto da odpowiedź?


@jolam
troszkę ci hormony szaleją kobieto

pozdro
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jeśli ktoś wie jak to zrobić albo wie gdzie to jest pokazane to bardzo, ale to bardzo proszę o pomoc. Ja nie wiem, gdybym wiedziała to nie prosiłabym erixa o pomoc - przecież on lubi się tylko wymądrzać a nie pomagać innym.

Wymądrzać? Wypraszam sobie i jeśli masz jakieś obiekcje pod moim adresem - zapraszam na PW, netykieta obowiązuje, chyba że naprawdę chcesz dostać +10%. Czekasz tylko na gotowce, a gdy ich nie dostaniesz jeszcze ze wskazaniem paluchem, co gdzie wlepić, to zaczynasz się foszyć, ale moja (i nie tylko moja) cierpliwość w końcu się wyczerpie, dostaniesz moderację na posty i tyle z tego będzie. Uszanuj to, że ktoś poświęca czas na tłumaczenie Tobie jak sołtys krowie na miedzy, 90% użytkowników zwykle po paru postach łapie, ale Ty wolisz na ładne oczy wybłagać gotowca, niż parę razy przeczytać ze zrozumieniem, czy to dokumentację, czy to czyjeś posty. Tyle ode mnie, PUBLICZNE upomnienie, następnym razem będzie +10%.

Kończymy offtopa, nie karmimy już. ;]

Cytat
Nie mogę użyć konfiguracji apache. I dlatego muszę to zrobić w php.

Podaj RACJONALNY powód, który wyklucza u Ciebie użycie Rewrite.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
jolam
post
Post #14





Grupa: Zarejestrowani
Postów: 259
Pomógł: 0
Dołączył: 12.07.2009

Ostrzeżenie: (10%)
X----


erix ja ci już to kilka razy tłumaczyłam, że jak nie chcesz pomagać to nie pomagaj ale daruj sobie złośliwości. Nie wiem jak to zrobić, szukałam rozwiązania bardzo długo i szukam nadal. Po kilku twoich bezwartościowych postach nie przybliżyłam się do rozwiązania. Uwierz, że wdawanie się zarozumiałym małolatem w dyskusje nie jest moim ulubionym sposobem na spędzanie czasu. Więc prosiłabym, żebyś dał sobie spokój z kolejnymi złośliwościami i nie przeszkadzał. Nie podniecaj się tak sobą i tym, że jesteś moderatorem. Dorośnij!

Może ktoś inny mi pomoże?


pozdrawiam Jola
Go to the top of the page
+Quote Post
erix
post
Post #15





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Nie będę sobie pozwalał na obrażanie, nie będę robił tego samego w stosunku do Ciebie, bo ktoś nie zauważy różnicy. Koniec tematu, dostałaś wystarczająco wiele wskazówek, moja cierpliwość do Twojego lenistwa się wyczerpała.

+10% i moderacja na tydzień. Nie pasuje? Zapraszam do kontaktu z szefem moderatorów (~Cysiaczek), który ew. ją zdejmie.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #16





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Otwieram, bo problem uważam za nierozwiązany.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
itsme
post
Post #17





Grupa: Zarząd
Postów: 1 512
Pomógł: 2
Dołączył: 22.04.2002
Skąd: Koszalin




- 10%, bez moderacji,

obie strony są proszone o spokojniejszą dyskusję.

- Jeżeli user jest proszony o nie pomaganie czasami warto wrzucić na looz i nie pomagać ... iść i czynić swoje w innych tematach (dotyczy to również moderatorów)
- Jeżeli autorka tematu oświadcza że musi to zrobić za pomocą PHP a nie innych środków należy to przyjąć za pewnik i pomóc na tyle ile można a nie domagać się uzasadnień dlaczego nie można przez Apache (odp: admin nie pozwala i co podać numer do admina?)

- Jola patrząc na historię warningów widzę że masz cięty język i taką etykietę masz przyklejoną zatem każda ostrzejsza wypowiedź podlega specjalnej ocenie. Stąd też kara dla Ciebie za wypowiedzi w tym temacie. Wygórowana - sądzę że reprymenda na PW lub w temacie od osoby wyższej rangą niż moderator wystarczy. I taką reprymendę daję. Mama nadzieję że w przyszłości okażesz więcej cierpliwości dla swojego języka.

Pozdrawiam
Itsme


--------------------
brak sygnaturki rowniez jest sygnaturką
Go to the top of the page
+Quote Post
fander
post
Post #18





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


pani jolu może jeszcze pani na serwerze kopiować dany obrazek do folderu do którego ma się dostęp z poziomu przeglądarki ^^, poza gd i header nic mi nie przychodzi do głowy
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 Aktualny czas: 20.08.2025 - 09:21