Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Tekst zamienny jeżeli nie ma obrazka pod linkiem
Forum PHP.pl > Forum > PHP
teez
Witam,

Chciałbym się dowiedzieć w jaki sposób mogę wywołać np echo ' NONE '; gdy pod adresem nie ma obrazka?

Dla przykładu : http://domena.pl/obrazek.png i wyświetla mi normalnie obrazek, ale jeżeli pod http://domena.pl/obrazekee.png już nie ma obrazka to nic nie wyświetla, chcę wyświetlić zamiast tego tekst zamienny, albo nawet echo ' img src [..] none.png ';


Potrzebuję to, bo mam zmienną typu http://domena.pl/$zmienna.png i często jest tak, że obrazka ze zmiennej nie ma.
amii
Sprawdzasz czy plik istnieje np. za pomocą: http://pl1.php.net/manual/en/function.file-exists.php i w zależności od tego obsługujesz warunek
teez
Dzięki, do zamknięcia.

Jednak nie, mam pewien problem..
  1. <?php
  2. $mapa = $server['map'];
  3. if(file_exists('http://image.www.gametracker.com/images/maps/160x120/cs/'.$mapa.'.jpg'))
  4. {
  5. echo '<img src=http://image.www.gametracker.com/images/maps/160x120/cs/'.$mapa.'.jpg>';
  6. }
  7. else
  8. {
  9. echo '<img src="img//nomap.jpg" alt="Brak mapy"/>';
  10. }
  11. ?>


Za każdym razem wywala nomap. Jeżeli w file_exist wpisze ('de_dust2.jpg') i mam ją na dysku to jest ok, ale w jaki sposób umieścić tam poprawnie tą zmienną?
amii
Jesteś pewien, że ta ścieżka jest poprawna u mnie dla http://image.www.gametracker.com wyskakuje 404 error
Jeśli masz PHP w wersji < 5 to nie możesz w argumecie file_exists dawać http://

Ale skoro pliki są na twoim dysku to daj po prostu ścieżkę względną bez http://
teez
zmienna $mapa to aktualnie grana mapa, dla przykladu de_dust2

http://image.www.gametracker.com/images/ma...cs/de_dust2.jpg

Chcę aby pobierał mapę z w/w serwisu np.
Kod
http://image.www.gametracker.com/images/maps/160x120/cs/$mapa.jpg

amii
Faktycznie file_exists nie działa na zdalny plik nawet z ustawioną flagą allow_url_fopen
Spróbuj tak:

fopen('http://image.www.gametracker.com/images/maps/160x120/cs/'.$mapa.'.jpg', 'r')
teez
Ok, niby działa ale w innych :


Warning: fopen(http://image.www.gametracker.com/images/maps/160x120/csgo/ze_potc_iv_v5_1.jpg) [function.fopen]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in C:\xampp\htdocs\sieci2\serwer.php on line 247


Dodalem : fopen('http://image.www.gametracker.com/images/maps/160x120/'.$typ.'/'.$mapa.'.jpg', 'r')

typ, np jak u góry csgo, bo są różne mapy dla różnych serwerów.
amii
Możesz dać tłumienie błędów @fopen('http://image.www.gametracker.com/images/maps/160x120/'.$typ.'/'.$mapa.'.jpg', 'r')
albo ewentualnie pobawić się którąś z tych funkcji : http://www.webdeveloper.com/forum/showthre...exists-with-url
teez
O! I działa. smile.gif

Dzięki Ci bardzo armii. wink.gif
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.