Bekijk Volledige Versie : Thumbnail maken via php
Eduard Bekker
03/10/04, 21:05
Beste mensen!
Alhoewel ik zelf alleen een soort steenkolenphp beheers en verder mijn doel
weet te bereiken door met enig inzicht stukken script van derden aan elkaar
te plakken, kom ik daar toch een aardig eind mee.
Nu is het me gelukt om op deze wijze van bestanden thumbnails in een
webpagina te krijgen.
Dat heb ik als volgt gedaan:
<?php
$maat=getimagesize ($foto);
$breedte=$maat[0];
$hoogte=$maat[1];
$hoogte_th=100;
$breedte_th=number_format((100/$hoogte)*$breedte,0);
if ($breedte_th > 133)
{
$breedte_th=133;
$hoogte_th=number_format((133/$breedte)*$hoogte,0);
}
$img=$scriptpad."verklein.php";
echo "<FORM action='index.php' method='POST'>";
echo "<input TYPE='hidden' NAME='foto_nr' VALUE='".$foto_nr."'>\n";
echo "<INPUT TYPE='image'
SRC='verklein.php?foto=".$foto."&breedte=".$breedte."&hoogte=".$hoog
te."&breedte_th=".$breedte_th."&hoogte_th=".$hoogte_th."' ALT='Klik
hier voor een vergroting.' TITLE='Klik hier voor een vergroting.'
VALUE='Groter' NAME='Groter'>";
echo "</FORM>";
?>
Met als 'verklein.php' (die ik overigens liever in een andere map had
geplaatst dan de map met de bestanden, maar dat wilde niet werken):
<?php
$foto=$_GET['foto'];
$breedte=$_GET['breedte'];
$hoogte=$_GET['hoogte'];
$hoogte_th=$_GET['hoogte_th'];
$breedte_th=$_GET['breedte_th'];
header("Content-type: image/jpeg");
$dst_img=ImageCreate($breedte_th,$hoogte_th);
$src_img=ImageCreateFromJPEG($foto);
ImageCopyResized($dst_img,$src_img,0,0,0,0,$breedt e_th,$hoogte_th,ImageSX($s
rc_img),ImageSY($src_img));
ImageJPEG($dst_img);
?>
Maar volgens mij zou dat eenvoudiger moeten kunnen.
Wie heeft er een idee?
(Dit vraag ik overigens niet alleen voor me zelf: de oplossingen kan via
groups.google.nl gelukkig ook door vele anderen worden geraadpleegd: vaak
ben ik daardoor zelf ook uit de brand geholpen.
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Daniel Tryba
04/10/04, 14:25
Eduard Bekker <e.bekker@layout.nl> wrote:
....
> Maar volgens mij zou dat eenvoudiger moeten kunnen.
> Wie heeft er een idee?
Beetje zonde van processortijd, sla het resultaat van de verkleining op
en toon dat indien aanwezig...
--
Daniel Tryba
Eduard Bekker
05/10/04, 01:05
On 04-10-2004 14:24, in article cjrfdl$1nd$2@news.tue.nl, "Daniel Tryba"
<news_nl.internet.www.server-side@canopus.nl> wrote:
> Eduard Bekker <e.bekker@layout.nl> wrote:
> ...
>
>> Maar volgens mij zou dat eenvoudiger moeten kunnen.
>> Wie heeft er een idee?
>
> Beetje zonde van processortijd, sla het resultaat van de verkleining op
> en toon dat indien aanwezig...
Hier dacht ik dus ook al aan, maar hoe schrijf je dit verkleinde bestand weg
als jpeg?
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Daniel Tryba
05/10/04, 01:55
Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote:
> Eduard Bekker <e.bekker@layout.nl> wrote:
> ...
>> Maar volgens mij zou dat eenvoudiger moeten kunnen.
>> Wie heeft er een idee?
>
> Beetje zonde van processortijd, sla het resultaat van de verkleining op
> en toon dat indien aanwezig...
http://nl3.php.net/imagejpeg
dus met het 2de en 3de arg.
--
Daniel Tryba
Daniel Tryba
05/10/04, 03:15
Eduard Bekker <e.bekker@layout.nl> wrote:
>> Beetje zonde van processortijd, sla het resultaat van de verkleining op
>> en toon dat indien aanwezig...
>
> Hier dacht ik dus ook al aan, maar hoe schrijf je dit verkleinde bestand weg
> als jpeg?
Hmmm, door gebrek aan slaap is mijn vorige reply al op de verkeerde plek
terecht gekomen :)
Maar ik heb ooit zoiets gemaakt als voorbeeldje (zie de archieven), ik
heb de zut maar even verzameld en gedumpt in:
http://tmp.tryba.nl/thumbs/
YMMV
--
Daniel Tryba
Eduard Bekker
05/10/04, 10:35
Beste Daniel!
On 05-10-2004 01:48, in article cjsng5$a0e$1@news.tue.nl, "Daniel Tryba"
<news_nl.internet.www.server-side@canopus.nl> wrote:
> Daniel Tryba <news_nl.internet.www.server-side@canopus.nl> wrote:
>> Eduard Bekker <e.bekker@layout.nl> wrote:
>> ...
>>> Maar volgens mij zou dat eenvoudiger moeten kunnen.
>>> Wie heeft er een idee?
>>
>> Beetje zonde van processortijd, sla het resultaat van de verkleining op
>> en toon dat indien aanwezig...
>
> http://nl3.php.net/imagejpeg
>
> dus met het 2de en 3de arg.
Dan zou het dus bijv. Moeten worden:
<?php
$foto=$_GET['foto'];
$breedte=$_GET['breedte'];
$hoogte=$_GET['hoogte'];
$hoogte_th=$_GET['hoogte_th'];
$breedte_th=$_GET['breedte_th'];
header("Content-type: image/jpeg");
$dst_img=ImageCreate($breedte_th,$hoogte_th);
$src_img=ImageCreateFromJPEG($foto);
ImageCopyResized($dst_img,$src_img,0,0,0,0,$breedt e_th,$hoogte_th,ImageSX($s
rc_img),ImageSY($src_img));
ImageJPEG($dst_img,$foto."_klein.jpg",75);
?>
Dit werkt echter niet. Wat doe ik fout?
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Daniel Tryba
05/10/04, 11:35
Eduard Bekker <e.bekker@layout.nl> wrote:
> ImageJPEG($dst_img,$foto."_klein.jpg",75);
>
> ?>
>
> Dit werkt echter niet.
Werkt perfect.
> Wat doe ik fout?
Vertellen wat er niet werkt! Ik heb echter het vermoeden dat het niet
aan je verwachtingen voldoet?
--
Daniel Tryba
Eduard Bekker
05/10/04, 14:45
On 05-10-2004 11:25, in article cjtp9k$ifn$1@news.tue.nl, "Daniel Tryba"
<news_nl.internet.www.server-side@canopus.nl> wrote:
> Eduard Bekker <e.bekker@layout.nl> wrote:
>> ImageJPEG($dst_img,$foto."_klein.jpg",75);
>>
>> ?>
>>
>> Dit werkt echter niet.
>
> Werkt perfect.
>
>> Wat doe ik fout?
>
> Vertellen wat er niet werkt! Ik heb echter het vermoeden dat het niet
> aan je verwachtingen voldoet?
Mijn verwachting is, dat er een bestand 1234_klein.jpg wordt weggeschreven
in de directory, maar er gebeurt helemaal niets.
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Daniel Tryba
05/10/04, 14:55
Eduard Bekker <e.bekker@layout.nl> wrote:
>> Vertellen wat er niet werkt! Ik heb echter het vermoeden dat het niet
>> aan je verwachtingen voldoet?
>
> Mijn verwachting is, dat er een bestand 1234_klein.jpg wordt weggeschreven
> in de directory, maar er gebeurt helemaal niets.
Wat is de return value van de functie?
--
Daniel Tryba
Nico Schuyt
05/10/04, 15:25
Eduard Bekker wrote:
> Mijn verwachting is, dat er een bestand 1234_klein.jpg wordt
> weggeschreven in de directory, maar er gebeurt helemaal niets.
Kijk eens op http://www.onlinetools.org/articles/creating_thumbnails_all.php
Je op het einde een compleet script downloaden.
Of: http://www.phpgarage.com/script.php?script=shrinkimage
Of: Zoek in Google op php thumbnail
--
Nico
www.nicoschuyt.nl
Eduard Bekker
06/10/04, 12:25
On 05-10-2004 14:53, in article cju5gu$ls8$2@news.tue.nl, "Daniel Tryba"
<news_nl.internet.www.server-side@canopus.nl> wrote:
> Eduard Bekker <e.bekker@layout.nl> wrote:
>>> Vertellen wat er niet werkt! Ik heb echter het vermoeden dat het niet
>>> aan je verwachtingen voldoet?
>>
>> Mijn verwachting is, dat er een bestand 1234_klein.jpg wordt weggeschreven
>> in de directory, maar er gebeurt helemaal niets.
>
> Wat is de return value van de functie?
Ai, ai, de return value.
Val ik weer even door de mand met mijn onbevoegd werken met php.
Ik begrijp namelijk niet wat je daarmee bedoelt...
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Eduard Bekker
06/10/04, 12:35
On 05-10-2004 15:15, in article 41629e61$0$46371$cd19a363@news.euronet.nl,
"Nico Schuyt" <nschuyt@hotmail.com> wrote:
> Eduard Bekker wrote:
>> Mijn verwachting is, dat er een bestand 1234_klein.jpg wordt
>> weggeschreven in de directory, maar er gebeurt helemaal niets.
>
> Kijk eens op http://www.onlinetools.org/articles/creating_thumbnails_all.php
> Je op het einde een compleet script downloaden.
> Of: http://www.phpgarage.com/script.php?script=shrinkimage
> Of: Zoek in Google op php thumbnail
Dank je! Daarmee moet het in elk geval lukken, alhoewel ik het gevoel had ,
dat ik al aardig op weg was.
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/
Daniel Tryba
06/10/04, 12:45
Eduard Bekker <e.bekker@layout.nl> wrote:
>> Wat is de return value van de functie?
>
> Ai, ai, de return value.
>
> Val ik weer even door de mand met mijn onbevoegd werken met php.
>
> Ik begrijp namelijk niet wat je daarmee bedoelt...
Hmmm, dat is wel heel elementaire kennis die je mist:
Van het FM:
imagejpeg -- Output image to browser or file
Description
bool imagejpeg ( resource image [, string filename [, int quality]])
Als de return value (bool) true is zou het goed moeten zijn gegaan,
indien false gaat er dus _iets_ fout. Resultaat kan je Q&D bekijken met
var_dump(imagejpeg(...));
--
Daniel Tryba
Eduard Bekker
06/10/04, 16:35
On 06-10-2004 12:38, in article ck0i03$88d$1@news.tue.nl, "Daniel Tryba"
<news_nl.internet.www.server-side@canopus.nl> wrote:
> Eduard Bekker <e.bekker@layout.nl> wrote:
>>> Wat is de return value van de functie?
>>
>> Ai, ai, de return value.
>>
>> Val ik weer even door de mand met mijn onbevoegd werken met php.
>>
>> Ik begrijp namelijk niet wat je daarmee bedoelt...
>
> Hmmm, dat is wel heel elementaire kennis die je mist:
>
> Van het FM:
> imagejpeg -- Output image to browser or file
>
> Description
>
> bool imagejpeg ( resource image [, string filename [, int quality]])
>
> Als de return value (bool) true is zou het goed moeten zijn gegaan,
> indien false gaat er dus _iets_ fout. Resultaat kan je Q&D bekijken met
> var_dump(imagejpeg(...));
Tja, was achteraf niet nodig: ik moest gewoon de permissies van het
betreffende mapje even veranderen....
Dat krijg je met die beunhazen...
--
/\/\/\/\/\/\/\/\/\
..|
..| Groetjes, Eduard
..|
\/\/\/\/\/\/\/\/\/