Toon posts:

[PHP] image naar browser sturen vanuit een andere map

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

Verwijderd

Topicstarter
Besten,

Ik heb een script geschreven om thumbnails aan te maken van foto's, wat perfect werkt, maar het duurt te lang om een fotoalbum te openen en de thumbnails tegelijkertijd aan te maken (het kost te veel processortijd.

Vervolgens maak ik nu de thumbnails aan bij het uploaden, dus de thumbnails en de foto's zelf staan al op een goed formaat.

Nu wil ik niet dat ze rechtstreeks aan de foto's aan kunnen, dus de foto's mogen niet in een www-map staan. Dus heb ik ze op een andere plaats bewaard.

Nu is mijn vraag of ik de foto's rechtstreeks kan laden (ik vermoed via imagecreate), en ze op die manier naar de browser te sturen.

Ik heb al het volgende geprobeerd, maar al wat ik te zien krijg is een hoop tekens.
code:
1
2
$test = imagecreatefromjpeg('/home/rh_flyboy/DSC00001.JPG');
imagejpeg($test, '', 100);

De webpaginas staan in /home/rh_flyboy/public_html

  • disjfa
  • Registratie: April 2001
  • Laatst online: 08-01 11:17

disjfa

be

Ik heb zelf een keer een map verplaatst naar een map waar mn cms iets mee kon. Ik heb vandaag er één file voor aan gemaakt en die heeft een klein ding erin staan:
PHP:
1
header("Location: /nieuwe map" + url van de opgevraagde map);

En voila. Geen gezeur met gd. Als je ze echt in een keer wilt laden kan je kijken naar readfile.

disjfa - disj·fa (meneer)
disjfa.nl


  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 25-03 00:07

Jurgle

100% Compatible

Dit is de wat moeilijkere manier, waarbij er nogsteeds processortijd nodig is, want de JPG wordt eerst omgezet naar het GD2 native format en dan weer terug gezet naar JPeG.

Je kunt beter het bestand fopen()-en en dan leeglezen:

code:
1
2
3
4
5
6
header(mime type ed van jpg);

$fp = fopen($bestand, 'r'); //of 'b' ipv 'r'
while(!feof($fp))
   echo fgets($fp, 4096);
fclose($fp);


misschien dat fpassthrough ook werkt, maar dat zou best eens niet-binair kunnen zijn.

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


  • Jurgle
  • Registratie: Februari 2003
  • Laatst online: 25-03 00:07

Jurgle

100% Compatible

disjfa schreef op donderdag 01 september 2005 @ 00:38:
Ik heb zelf een keer een map verplaatst naar een map waar mn cms iets mee kon. Ik heb vandaag er één file voor aan gemaakt en die heeft een klein ding erin staan:
PHP:
1
header("Location: /nieuwe map" + url van de opgevraagde map);

En voila. Geen gezeur met gd. Als je ze echt in een keer wilt laden kan je kijken naar readfile.
De TS wil de foto's buiten de www dir hebben en met header('Location') verwijs je nogsteeds naar een locatie op het www.

My opinions may have changed but not the fact that I am right ― Ashleigh Brilliant


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op donderdag 01 september 2005 @ 00:32:
code:
1
2
$test = imagecreatefromjpeg('/home/rh_flyboy/DSC00001.JPG');
imagejpeg($test, '', 100);
Ehm, je moet natuurlijk wel een JPEG header setten vóór je imagejpeg aanroept. 8)7
PHP:
1
header('Content-type: image/jpeg');

Maar je kan ook net zo goed fpassthru gebruiken, dan heb je geen GD nodig. :)

Dit had je echter ook prima in de manual kunnen vinden (zeker dat header verhaal, want dat staat gewoon in het voorbeeld bij imagejpeg), en daarom doe ik dit topic op slot.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Dit topic is gesloten.