[php] Plaatje weergeven zonder extensie.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Ik zit met het volgende probleem:

Ik heb een directory vol met plaatjes (/images/). Deze plaatjes zijn allemaal opgeslagen met als naam de timestamp van de upload. Bijvoorbeeld 1133788256 voor een recentelijk geüpload plaatje. Er zit geen extensie aan de naam vast.

Omdat op deze server de mod_mime_magic module niet geïnstalleerd is, heb ik een simpel phpscriptje gemaakt, wat het bestand probeert te openen, het mimetype bepaalt, en het plaatje, met het juiste mimetype naar de browser stuurt. Daarbij een simpel rewrite_engine directive, zodat je gewoon de werkelijke bestandsnaam kunt opgeven.

Echter, probeer ik het bestand in Firefox te openen, dan krijg ik steevast de vraag of ik het bestand wil downloaden, omdat het van type 'binary' zou zijn, wat Firefox niet kan tonen.

Als ik met telnet het bestand opvraag, lijkt alles te kloppen. Ik krijg het juiste Content-Type terug, dus ik heb werkelijk geen flauw idee waar de fout zit.
$ telnet
telnet> open www.vokvorum.nl 80
Trying 83.142.26.162...
Connected to www.vokvorum.nl.
Escape character is '^]'.
HEAD /images/1133788256 HTTP/1.1
Host: www.vokvorum.nl

HTTP/1.1 200 OK
Date: Mon, 05 Dec 2005 15:11:51 GMT
Server: Apache/1.3.34 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.1 FrontPage/5.0.2.2635 mod_ssl/2.8.25 OpenSSL/0.9.7a
X-Powered-By: PHP/4.4.1
Content-Type: image/jpeg

Connection closed by foreign host.
Ik ben echt ten einde raad, ik heb al het complete http protocol doorgespit, of ik niet ergens een header vergeet, maar ik zou echt niet weten waar het aan ligt.

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Bij werkt het perfect ( FF 1.0.7 )

Ligt het niet aan de caching van FF ?

[ Voor 10% gewijzigd door LuCarD op 05-12-2005 16:36 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Ik heb al een <Ctrl>+<Shift>+<R> geprobeerd uiteraard. Ik heb zelfs al een keer de browser opnieuw gestart, dus het lijkt me vrij stug dat het aan de cache ligt.

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • MetalfanBlackness
  • Registratie: Oktober 2001
  • Niet online

MetalfanBlackness

♥ PV & SB ♥

probeer eens op http://vokvorum.nl/images/1133788256 te kijken i.p.v. http://www.vokvorum.nl/images/1133788256 of visa versa als je normaal zonder www deed

Solarboiler: Top Senz 200 Nero-3 ⣿⣿ Photovoltaics: 9x LG 320N1K-A5, SE 3000H


Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Ik gebruik normaal altijd met de www. ervoor, maar zonder krijg ik precies hetzelfde resultaat. Ik geloof echt niet dat het aan de cache ligt.

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Mijn Firefox 1.5 (Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20051111 Firefox/1.5) laat het plaatje (link van MetalfanBlackness) gewoon zien.

[ Voor 3% gewijzigd door OkkE op 05-12-2005 16:47 ]

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Installeer LiveHTTP Headers eens misschien die wat meer informatie vertellen

Welke versie van FF gebruik je?

Krijg je nog fout meldingen in je error log of Access_log?

[edit]
https://addons.mozilla.org/extensions/moreinfo.php?id=575

[ Voor 39% gewijzigd door LuCarD op 05-12-2005 16:49 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

  • Xandrios
  • Registratie: Februari 2001
  • Laatst online: 16:24
http://www.vokvorum.nl/images/1133788256

GET /images/1133788256 HTTP/1.1
Host: www.vokvorum.nl
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Referer: [rml][ php] Plaatje weergeven zonder extensie.[/rml]
Cache-Control: max-age=0

HTTP/1.x 200 OK
Date: Mon, 05 Dec 2005 15:47:52 GMT
Server: Apache/1.3.34 (Unix) mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 PHP/4.4.1 FrontPage/5.0.2.2635 mod_ssl/2.8.25 OpenSSL/0.9.7a
X-Powered-By: PHP/4.4.1
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: image/jpeg
Gaat hier absoluut goed. Het enige "vreemde" wat mij zo opvalt is het volgende: Transfer-Encoding: chunked. Maar dat *zou* geen probleem moeten zijn.

Mischien dat jou browser op de een of andere manier de file-extensie leidend vind boven de header...maar dat hoort niet zo te zijn in ieder geval.

[ Voor 7% gewijzigd door Xandrios op 05-12-2005 16:51 ]


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22:34
Benader je de server zelf soms vanaf je interne netwerk? Hier werkt het namelijk ook gewoon.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • MetalfanBlackness
  • Registratie: Oktober 2001
  • Niet online

MetalfanBlackness

♥ PV & SB ♥

Solarboiler: Top Senz 200 Nero-3 ⣿⣿ Photovoltaics: 9x LG 320N1K-A5, SE 3000H


Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Via die anonymizer werkt het wel. Waarschijnlijk tóch ergens een cache-probleem. Erg vreemd, vooral omdat ik al een harde refresh en browserherstart geprobeerd heb.

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:44

orf

Hier in Firefox werkt het ook ok.
Misschien helpt een extra header:

PHP:
1
2
3
<?php
header('Content-Disposition: inline; filename="image.jpg"');
?>

Acties:
  • 0 Henk 'm!

  • MetalfanBlackness
  • Registratie: Oktober 2001
  • Niet online

MetalfanBlackness

♥ PV & SB ♥

Geef anders in je header ook eens op dat ie meteen expired is.

Solarboiler: Top Senz 200 Nero-3 ⣿⣿ Photovoltaics: 9x LG 320N1K-A5, SE 3000H


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22:34
Nogmaals, ik denk dat de rewriterule van TS gewoon niet werkt in zijn interne netwerk (andere hostname enzo). Als de headers bij iedereen goed werken moeten ze dat bij TS namelijk ook doen. Dat er wel binary data komt ligt er aan dat de images fysiek ook op de server staan in de map /images/filename

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Het ligt niet aan de rewriterule denk ik, ik heb daar niets van hostnames instaan.

code:
1
2
RewriteEngine   On
RewriteRule ^([0-9]*)$ image.php?image=$1


Dat zou toch vanaf ieder domein moeten werken?

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • Soultaker
  • Registratie: September 2000
  • Laatst online: 22:43
Xandrios schreef op maandag 05 december 2005 @ 16:49:
Gaat hier absoluut goed. Het enige "vreemde" wat mij zo opvalt is het volgende: Transfer-Encoding: chunked. Maar dat *zou* geen probleem moeten zijn.
Een heleboel dynamisch gegenereerde websites gebruiken chunked encoding; dan zou 'ie ook moeite moeten hebben met het grootste deel van de websites die PHP gebruiken bijvoorbeeld. (Dit forum en de Tweakers.net frontpage zijn chunked bijvoorbeeld).
MetalfanBlackness schreef op maandag 05 december 2005 @ 16:55:
Geef anders in je header ook eens op dat ie meteen expired is.
Dat lijkt me niet echt handig; statische plaatjes (en dat zijn dit) wil je juist gecached hebben.

@TS: heb je nog plug-ins geïnstalleerd voor Firefox en (if so) welke?

Acties:
  • 0 Henk 'm!

  • cyberstalker
  • Registratie: September 2005
  • Niet online

cyberstalker

Eersteklas beunhaas

Topicstarter
Ik heb alleen NoScript, en de Forum Tools extensie geïnstalleerd. De eerste bemoeit zich alleen met javascript, en lijkt me niet het probleem. De tweede extensie heb ik zelf gebouwd, en daarvan weet ik zeker dat het niet het probleem is.

Verder geen rotzooi, geen flash, geen java.

Ik ontken het bestaan van IE.


Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 22:34
cyberstalker schreef op maandag 05 december 2005 @ 17:00:
Het ligt niet aan de rewriterule denk ik, ik heb daar niets van hostnames instaan.
Dan kan het nog wel zo zijn dat de hele rewriterule niet gebruikt wordt omdat andere instellingen alleen zijn ingesteld voor een bepaalde hostname / listen-ip. Bijvoorbeeld het toestaan van het gebruik van .htacces files.

Een poging om het plaatje via ip te bereiken faalt trouwens. Er wordt dus sowieso iets aan virtual servers gedaan. Dus misschien kun je uitleggen hoe de hosting in elkaar steekt en hoe je er zelf mee verbind. Ik ben er namelijk nog steeds van overtuigd dat het niets met je scriptje te maken heeft. (laat dat maar eens "hello world" uitpoepen, dan kun je zien of er wel gerewrite wordt).

Regeren is vooruitschuiven

Pagina: 1