Toon posts:

[PHP] include ("file.jpg") werkt niet

Pagina: 1
Acties:
  • 75 views sinds 30-01-2008

Verwijderd

Topicstarter
Is het mogelijk om in een php script direct een jpg file richting de browser te sturen?

Ik heb zoiets als:

<?php

include ("filenaam.jpg");

?>

maar dan krijg ik steeds fout in lijn xxx parse error, unexpected ')' etc..

header ("Content-Type: image/jpeg");
heb ik er ook al bijgezet, maar helpt niet echt.

iemand nog een idee hoe ik dit werkend kan krijgen?

Verwijderd

Met Content-Type zat je al aardig in de richting, alleen je kunt geen jpg includen, omdat PHP dan denkt dat 't code is.

je kunt het wel met bv readfile("filenaam.jpg") proberen. die geeft hem wel direct door

edit:
wat ook wel aardig is om hem een bepaalde naam te geven, zodat als iemand rechterklik-opslaan als doet deze naam standaard ingevuld wordt:
header("Content-Disposition: attachment; filename=bestandsnaam.gif");

  • rb338
  • Registratie: Januari 2001
  • Laatst online: 22-07 12:59
(jarig!)
PHP:
1
<?Header("Content-type: image/gif");fpassthru("blaat.gif");?>

Zou op zich moeten werken.
Dan kan je een .php file een plaatje laten lijken.

Een plaatje includen kan niet...
Zie ook www.php.net

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Als je het op deze manier doet gaat php proberen de JPEG te parsen. OK, hij probeert wel eerst een <? te vinden, maar het lijkt me sowieso lastig lezen zo'n binair bestand....

Je kunt het beter mbv de file handling routines doen.. ZIe daarvoor de manual van php.

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • timstegeman
  • Registratie: Januari 2000
  • Laatst online: 31-07 20:47
Dat komt omdat je met include een php bestand kunt includen.
Om gewoon een bestand naar de browser te sturen kun je readfile gebruiken
code:
1
2
header("Content-Type: image/jpeg");
readfile("file.jpg");

Verwijderd

WOEI!! 4 nagenoeg dezelfde reacties in 4 minuten, "RESPECT!"

Verwijderd

Op woensdag 19 juni 2002 15:09 schreef zellufs het volgende:
WOEI!! 4 nagenoeg dezelfde reacties in 4 minuten, "RESPECT!"
>:)
kwaliteit is onze reclame ;)

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

zellufs:
WOEI!! 4 nagenoeg dezelfde reacties in 4 minuten, "RESPECT!"
En ik heb de goeie nog niet gezien :Dedit:
Ik zie dat readfile alleen in oudere versies nog niet binary-safe was... :X

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op woensdag 19 juni 2002 15:20 schreef drm het volgende:

[..]

En ik heb de goeie nog niet gezien :D
beter kijken :+

rb338

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


Verwijderd

Op woensdag 19 juni 2002 15:39 schreef SWINX het volgende:

beter kijken :+

rb338
Nah, rb338 moet de syntax van de tpassthru functie eens beter gaan bekijken :)

Die functie wil als argument een file pointer, die dus geretourneed moet zijn door fopen(), of -volgens de manual- fopen(), popen() of fsockopen().

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Cheatah:
Nah, rb338 moet de syntax van de tpassthru functie eens beter gaan bekijken :)
En vandaar natuurlijk mijn linkje naar fopen() ;)

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • SWINX
  • Registratie: Juni 2001
  • Laatst online: 02-06 23:18
Op woensdag 19 juni 2002 15:45 schreef Cheatah het volgende:

[..]

Nah, rb338 moet de syntax van de tpassthru functie eens beter gaan bekijken :)

Die functie wil als argument een file pointer, die dus geretourneed moet zijn door fopen(), of -volgens de manual- fopen(), popen() of fsockopen().
Op woensdag 19 juni 2002 16:41 schreef drm het volgende:

[..]

En vandaar natuurlijk mijn linkje naar fopen() ;)
ik houd al stil :X

Mannen komen van Mars Tweakers, vrouwen van Venus Bokt


  • Martink
  • Registratie: Juni 2001
  • Laatst online: 11-02-2025
Wat dacht je gewoon van
PHP:
1
<?header("location: plaatje.jpg");?>

Dat werkt namelijk ook, ik weet alleen niet waarvoor je het nodig hebt.

  • rb338
  • Registratie: Januari 2001
  • Laatst online: 22-07 12:59
(jarig!)
Op woensdag 19 juni 2002 15:45 schreef Cheatah het volgende:

[..]

Nah, rb338 moet de syntax van de tpassthru functie eens beter gaan bekijken :)

Die functie wil als argument een file pointer, die dus geretourneed moet zijn door fopen(), of -volgens de manual- fopen(), popen() of fsockopen().
:X Oeps :)

Ik had 't ff uit m'n random-icon script gepaste (ja, * rb338 is lui) en heb per ongeluk iets teveel weggehaald :P

  • decramy
  • Registratie: December 2001
  • Laatst online: 03-09 20:11

decramy

root@birdie:~#

[quote]
Op donderdag 20 juni 2002 17:06 schreef Martink het volgende:
Wat dacht je gewoon van
[php]<?header("location: plaatje.jpg");?>[/php]
Dat werkt namelijk ook, ik weet alleen niet waarvoor je het nodig hebt.
[/quote]

Dit wil k niet, omdat je dan in de adresbalk ziet waar en hoe t plaatje staat.
Bij mij is de header ook altijd anders (JPG, Gif en WAV), dus k kan niet een vast header zenden...
Kun je ook de header uitlezen?


Laat maar:
PHP:
1
<?    $file = fopen($dir."/".$bekijk, r);    fpassthru($file);?>

Maar dit is wel een stuk trager :(

20*375Wp met Enphase IQ7+ micro's | Stiebel Eltron HGE Water/Water WP 9kW | Tesla M3, powered by SmartEVSE | Servertje @ www.coloclue.net


Verwijderd

lekker om eerst een oud topic te schoppen om vervolgens jezelf het antwoord al te geven :?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 22:32

TheDane

1.618

Op vrijdag 05 juli 2002 08:53 schreef Foxboy het volgende:
lekker om eerst een oud topic te schoppen om vervolgens jezelf het antwoord al te geven :?
decramy had hier gisterenavond ook een topic over geopend, en dat werd gelijk gesloten .. en deze is nog open :?

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

Dat krijg je als er ochtend's iemand een topic kickt dat oud is he.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR

Pagina: 1

Dit topic is gesloten.