webpagina in img src?
<img src="http://www.mijnsite.nl">
Wordt mijnsite.nl nu aangeroepen? Op het scherm zie ik namelijk een rood kruisje.
Vanwaar deze vraag?
Ik ben bezig een framework te maken en alle aanroepen (via de browser) die niet naar een bestand verwijzen, worden naar het framework gestuurd. Echter, stel dat een afbeelding getoond wordt die van de server is verwijderd, dan bestaat het bestand niet en wordt er dus doorverwezen naar het framework. Er gebeurt dan eigenlijk dus dit:
<img src="http://www.mijnsite.nl/ganaarframework">
Nu ben ik dus benieuwd of 1) het framework daadwerkelijk wordt aangeroepen en 2) of ik in het framework kan detecteren dat het om een afbeelding gaat en dan een "niet gevonden" afbeelding kan laten renderen zodat je niet zo'n lelijk rood kruisje krijgt. Ik hoef niet te weten HOE ik dit zou moeten doen, maar ben alleen even nieuwsgierig of het uberhaupt mogelijk is.
De pagina wordt dan inderdaad aangeroepen. Als je er voor zorgt dat er 1 manier is om plaatjes aan te roepen kan je dat in je framework checken en eventueel een 404-afbeelding terug sturen.
De aanroep wordt wel gedaan zoals Terence al zegt
http://www.mijnsite.nl/toonplaatje/315 ?
@TJVB: betreffende punt 2...
Stel dat je www.mijnsite.nl/plaatje.jpg aanroept en die bestaat niet. Als het goed is (maar dit weet ik dus niet zeker!!!!) wordt (via htaccess) "plaatje.jpg" nu doorgestuurd naar mijn framework. In het framework zou ik dan kunnen controleren of het om een plaatje gaat. Zo ja, dan een 'niet gevonden' plaatje renderen. Of wordt "plaatje.jpg" niet doorgestuurd omdat het bestand niet bestaat?
@TH: Oke, met die "1 manier" bedoel jij bijvoorbeeld: @TJVB: betreffende punt 2...
Stel dat je www.mijnsite.nl/plaatje.jpg aanroept en die bestaat niet. Als het goed is (maar dit weet ik dus niet zeker!!!!) wordt (via htaccess) "plaatje.jpg" nu doorgestuurd naar mijn framework. In het framework zou ik dan kunnen controleren of het om een plaatje gaat. Zo ja, dan een 'niet gevonden' plaatje renderen. Of wordt "plaatje.jpg" niet doorgestuurd omdat het bestand niet bestaat?
RewriteCond %{REQUEST_URI} !-f
RewriteCond %{REQUEST_URI} (\.png|\.jpg|\.gif)
RewriteRule ^(.*)$ /images/plaatje_niet_gevonden.png
p.s. waarom gebruik je REQUEST_URI in plaats van REQUEST_FILENAME?
Zie ook http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritecond
Kan *wat* alleen via htaccess? Wanneer je een verzoek naar een niet-bestaand bestand doorstuurt naar je 'framework', ik vermoed naar een of andere front controller, krijg je toch op zijn minst het verzochte pad door? Daar moet je dan aan beslissen of het een afbeelding betreft.
Wel een dure oplossing (performance-wise) als je direct een afbeelding kunt serveren.
performance ben ik niet bang voor omdat ik niet verwacht dat het vaak zal vorkomen dat er een plaatje ontbreekt.
Gewijzigd op 12/01/2011 12:28:18 door Ozzie PHP
Je vraag is dus beantwoord? Je krijgt het request echt binnen. Op je ontwikkelomgeving kun je dat overigens snel vaststellen, en live is het nog altijd in het access_log te zien.
Ja mijn vraag is beantwoord :) Ik wilde inderdaad weten of de request echt binnenkomt, aangezien ik momenteel alleen maar een rood kruisje zie als ik handmatig naar m'n index.php verwijs via <img src="index.php">.