Ik heb een php script dat op een IIS webserver draait. Dit script haalt een plaatje uit de database (mysql) en stuurt dit naar de bezoeker van de website. Ik wil ervoor zorgen dat het plaatje niet iedere keer uit de database gehaald wordt en verstuurd naar de bezoeker, maar dat dit alleen voorkomt als er een nieuwe versie van het plaatje is.
Op mijn thuisservertje (Apache) draait het script prima. Ik vraag met de php functie 'apache_request_headers()' de waarde van de variabele 'if-modified-since' op en ik vergelijk deze met het tijdstip waarop het plaatje gegenereerd is. Natuurlijk werkt op die IIS server deze apache specifieke functie niet. Maar ik wil toch graag de waarde van 'if-modified-since' (in de request-header) opvragen om deze te vergelijken. Heeft iemand enig idee hoe ik dit kan doen?
Ik kwam op de php website nog het volgende tegen:
Iemand enig idee hoe ik toch aan die request-header waarde 'if-modified-since' kom? Of iemand andere oplossingen? Liever start ik geen discussie over plaatjes wel of niet in de database opslaan, daar heb ik al erg veel van gelezen op dit forum. Ik heb eventueel wel de optie om plaatjes als files op te slaan, maar dan moet ik een directory writable maken, dat doe ik liever niet.
Op mijn thuisservertje (Apache) draait het script prima. Ik vraag met de php functie 'apache_request_headers()' de waarde van de variabele 'if-modified-since' op en ik vergelijk deze met het tijdstip waarop het plaatje gegenereerd is. Natuurlijk werkt op die IIS server deze apache specifieke functie niet. Maar ik wil toch graag de waarde van 'if-modified-since' (in de request-header) opvragen om deze te vergelijken. Heeft iemand enig idee hoe ik dit kan doen?
Ik kwam op de php website nog het volgende tegen:
Maar ik heb ook geen 'mod_rewrite' (aangezien dat ook voor apache is). Wel heb ik de beschikking over ISAPI_rewrite, maar ik krijg het daarmee niet voor elkaar.There is a simple way to get request headers from Apache even on PHP running as a CGI. As far as I know, it's the only way to get the headers "If-Modified-Since" and "If-None-Match" when apache_request_headers() isn't available. You need mod_rewrite, which most web hosts seem to have enabled. Put this in an .htacess file in your web root:
code:
1 2 3 4 5 6 7 8 9 RewriteEngine on RewriteRule .* - [E=HTTP_IF_MODIFIED_SINCE:%{HTTP:If-Modified-Since}] RewriteRule .* - [E=HTTP_IF_NONE_MATCH:%{HTTP:If-None-Match}] The headers are then available in PHP as <?php $_SERVER['HTTP_IF_MODIFIED_SINCE']; $_SERVER['HTTP_IF_NONE_MATCH']; ?>
Iemand enig idee hoe ik toch aan die request-header waarde 'if-modified-since' kom? Of iemand andere oplossingen? Liever start ik geen discussie over plaatjes wel of niet in de database opslaan, daar heb ik al erg veel van gelezen op dit forum. Ik heb eventueel wel de optie om plaatjes als files op te slaan, maar dan moet ik een directory writable maken, dat doe ik liever niet.
The Flying Dutchman