[PHP] Image header

Pagina: 1
Acties:

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Ik ben bezig met een ASP makelaardij site om te bouwen naar PHP en wat extra functies e.d.

Nu is het zo dat in de al bestaande database plaatjes binair gevestigd zijn.

Nu moet ik dus de plaatjes uit de database halen en via een header weergeven.

Bijvoorbeeld: header("content-type: image/png");

Alleen kunnen de plaatjes png/gif/jpg zijn. En aangezien in de database het bestandtype niet vermeld staat is het dus niet mogelijk om het content type te achterhalen.

Ook is het niet erg handig om de database uit te breiden met extra velden aangezien al een grote bestaande database omgezet moet worden en ik geen zin heb om voor elke row uit te gaan zoeken om wat voor bestandstype het gaat.

Weet iemand misschien een manier om een header uit te printen met een onwillekeurig bestandsformaat?

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 09-09 14:51

thomaske

» » » » » »

heb je al geprobeerd om gewoon voor elk plaatje dezelfde header mee te sturen, volgens mij gaat dat best goed.. :)

[edit]
Maar dat weet ik niet zeker.. ;)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Hmzz nee, dat heb ik nog niet geprobeert :)

Zo'n oplossing is ook vaak niet het eerste wat in me op komt :P

Maar goed dat is zeker het proberen waard. Bedankt :)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • DusHmaniac
  • Registratie: Oktober 2001
  • Laatst online: 07-09-2022

DusHmaniac

Boe!

All your base are belong to Chuck Norris


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Op maandag 04 maart 2002 22:24 schreef DusHmaniac het volgende:
www.phpbuilder.com/columns/florian19991014.php3

Lang leve Google >:)
Ik weet heus wel hoe het moet, dat is niet mijn probleem :o

(http://www.phpbuilder.com/columns/florian19991014.php3?page=3)
Header( "Content-type: $type");
Daar ga ze uit van een filetype die ik dus niet weet ;)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Op maandag 04 maart 2002 22:09 schreef thomaske het volgende:
heb je al geprobeerd om gewoon voor elk plaatje dezelfde header mee te sturen, volgens mij gaat dat best goed.. :)

[edit]
Maar dat weet ik niet zeker.. ;)
Ben toch bang dat dat lang niet altijd op gaat (als het al werkt), want de verschillende type plaatjes zullen ook een andere indeling hebben.

  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
Op maandag 04 maart 2002 22:48 schreef NextGeneration het volgende:

[..]

Ben toch bang dat dat lang niet altijd op gaat (als het al werkt), want de verschillende type plaatjes zullen ook een andere indeling hebben.
Toch moet er een manier zijn want de huidige site krijgt het toch voor elkaar dmv Asp. :?

Eens kijken of ik kan uitpuzzelen hoe zei te werk zijn gegaan :)

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


  • me1299
  • Registratie: Maart 2000
  • Laatst online: 19:07

me1299

$ondertitel

Topicstarter
dat script ziet er als volgt uit:
<%@ LANGUAGE="VBSCRIPT" %>
<%
' Clear out the existing HTTP header information
Response.Expires = 0
Response.Buffer = TRUE
Response.Clear

' Change the HTTP header to reflect that an image is being passed.
Response.ContentType = "image/gif"

Set cn = Server.CreateObject("ADODB.Connection")
' The following open line assumes you have set up a System DataSource
' by the name of myDSN.
cn.Open "DSN=dejong"
Set rs = cn.Execute("SELECT woningFotoKlein FROM tblWoningen WHERE woningID=" & Cint(request.queryString("woningID")))
Response.BinaryWrite rs("woningFotoKlein")
Response.End
%>
Zei gaan dus gewoon uit van een Gif header. Dus ik denk dat dan de admins van de site dus doorgaans Gif plaatjes uploaden :)

Totdat ik een andere oplossing weet ga ik er dan maar gewoon vanuit dat ik met Gif te maken heb.

Het maakt eigenlijk niet uit wat je bewuste geest doet, omdat je onderbewuste automatisch precies dat doet wat het moet doen


Verwijderd

Op maandag 04 maart 2002 22:55 schreef DeathKnight het volgende:
dat script ziet er als volgt uit:
[..]

Zei gaan dus gewoon uit van een Gif header. Dus ik denk dat dan de admins van de site dus doorgaans Gif plaatjes uploaden :)

Totdat ik een andere oplossing weet ga ik er dan maar gewoon vanuit dat ik met Gif te maken heb.
Jah, als dat met ASP werkt, werkt het met PHP ook.
Maar misschien is het verstandig om toch een veldje bij je db te maken waarin staat welk type het is zodat het in het vervolg ook mogelijk is om andere plaatjes te uploaden (lijk me makkelijk).

Maar je kan er tot nu toe uiteraard gewoon vanuit gaan dat het gif'jes zijn.

  • WouZz
  • Registratie: Mei 2000
  • Niet online

WouZz

Elvis is alive!

FF een stukje copy/paste de gzip_encode class van Leknor.com:
PHP:
1
<?// Test file type. I wish I could get HTTP response headers.    $magic = substr(ob_get_contents(),0,4);    if (substr($magic,0,2) === '^_') {        // gzip data        $encoding = false;    } else if (substr($magic,0,3) === 'GIF') {        // gif images        $encoding = false;    } else if (substr($magic,0,2) === "\xFF\xD8") {        // jpeg images        $encoding = false;    } else if (substr($magic,0,4) === "\x89PNG") {        // png images        $encoding = false;    } else if (substr($magic,0,3) === 'FWS') {        // Don't gzip Shockwave Flash files. Flash on windows incorrectly        // claims it accepts gzip'd content.        $encoding = false;    } else if (substr($magic,0,2) === 'PK') {        // pk zip file        $encoding = false;    }?>

Hiermee moet het wel lukken denk ik :)

On track

Pagina: 1