[PHP] Image resize

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

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Ik heb thuis een linux webserver met apache draaien en een NT Server met IIS

op bijde staat PHP en mysql.

nu kan ik op die linux server heel mooi plaatjes die geupload worden resizen naar een tumbnail.

nu wil ik dit ook doen op mijn iis server

iemand een idee hoe ik dit kan doen?

het gaat niet hetzelfde als op mijn linux server omdat ik dan met system("<blaat>"); een aantal commando's uitvoer die Windows niet prettig vind

specs : http://specs.tweak.to/7435


  • HGM
  • Registratie: April 2000
  • Niet online

HGM

je kan toch gewoon onder PHP met GD de plaatjes resizen, waarvoor heb je 'system' dan nodig??

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Ik wist neit dat het met gd kan (heb eigenlijk nog nooit van gd gehoord) maar ik ga daar is naar kijken dan :)

specs : http://specs.tweak.to/7435


  • RobzQ
  • Registratie: Februari 2000
  • Laatst online: 21-12-2020

RobzQ

greedy as a pig

Controleer hoe PHP op beide omgevingen is geinstalleerd? In de php config kun je namelijk bepaalde modules aan en uit zetten, zo ook de GD lib.

..so be wary of any man who keeps a pig farm..


  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op maandag 18 februari 2002 10:19 schreef RobzQ het volgende:
Controleer hoe PHP op beide omgevingen is geinstalleerd? In de php config kun je namelijk bepaalde modules aan en uit zetten, zo ook de GD lib.
ja op linux weet ik hoe ik gd kan mee compilen met apache


ik moet alleen even gaan zoeken hoe ik dat in iis krijg
(of kan dat zoizo niet????)

specs : http://specs.tweak.to/7435


  • J3roen
  • Registratie: Januari 2000
  • Niet online

J3roen

Intentionally left blank

Op maandag 18 februari 2002 10:28 schreef dafearless het volgende:

[..]

ik moet alleen even gaan zoeken hoe ik dat in iis krijg
(of kan dat zoizo niet????)
GD wordt standaard meegeleverd met de PHP windows binary.

Je met alleen even je extension path goed zetten in je PHP.ini en de module voor GD uncommenten in je PHP.ini.

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op maandag 18 februari 2002 10:34 schreef CRiSiS het volgende:

[..]

GD wordt standaard meegeleverd met de PHP windows binary.

Je met alleen even je extension path goed zetten in je PHP.ini en de module voor GD uncommenten in je PHP.ini.
Ok tnx dan kan ik dat vanavond even gaan proberen :))

specs : http://specs.tweak.to/7435


  • CrazyA
  • Registratie: Juli 2000
  • Laatst online: 06-09 10:55
Op maandag 18 februari 2002 10:28 schreef dafearless het volgende:

[..]

ja op linux weet ik hoe ik gd kan mee compilen met apache


ik moet alleen even gaan zoeken hoe ik dat in iis krijg
(of kan dat zoizo niet????)
php config !!
staat 't allemaal in :)

[edit]
* CrazyA moet zich aanleren niet eerst GoT-treads te openen en dan pas een kwartier later te beginnen met reageren |:(

  • Joto
  • Registratie: Juni 2000
  • Laatst online: 10:21
toevallig kwam ik uit een oud topic in de active terecht.

hier staat een scrippie wat ik zelf gebruik voor het "thumben"
[topic=362035]

1+1+1 = 1


  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 20-05 09:15
Op maandag 18 februari 2002 10:15 schreef dafearless het volgende:
Ik heb thuis een linux webserver met apache draaien en een NT Server met IIS

op bijde staat PHP en mysql.

nu kan ik op die linux server heel mooi plaatjes die geupload worden resizen naar een tumbnail.

nu wil ik dit ook doen op mijn iis server

iemand een idee hoe ik dit kan doen?

het gaat niet hetzelfde als op mijn linux server omdat ik dan met system("<blaat>"); een aantal commando's uitvoer die Windows niet prettig vind
Onder Linux heb ik resizen als volgt voor elkaar:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?
if (!isset($big)) {
 $maxsize = 115;
 $teksttype = 3;
 $typepicture = "small";
} else {
 $maxsize = 300;
 $teksttype = 5;
 $typepicture = "big";
}
$plaatje=$imagefile;
$imagefile = "/sites/private/photos/".$plaatje;
$cachefile = "/sites/private/cache/".$typepicture."-".$plaatje;
if (!is_file($imagefile)) {
  $imagefile = "/sites/private/dev/no_file.jpg";
  $cachefile = "/sites/private/cache/".$typepicture."no_file.jpg";
}



if (!is_file($cachefile)) {
  $src_img = imagecreatefromjpeg($imagefile);
  if( (imagesx($src_img)) > (imagesy($src_img)) ) {
    $ratiochange = imagesx($src_img) / $maxsize;
  } else {
    $ratiochange = imagesy($src_img) / $maxsize;
  }
  $new_w = imagesx($src_img)/$ratiochange;
  $new_h = imagesy($src_img)/$ratiochange;
  $dst_img = imagecreate($new_w,$new_h);
  $newimage= $cachefile;
  imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
  imagejpeg($dst_img,$newimage);

}
Header ("Content-type: image/jpeg");
$im_tmp = imageCreate( $new_w, $new_h );
$im = imagecreatefromjpeg($cachefile);
ImageString ( $im, $teksttype, 15 ,5, $tekst, $KleurTekst);
ImageString ( $im, 1, 15 , ($new_h - 15), $tekst2, $KleurTekst);
Imagejpeg($im,'',100);
ImageDestroy($im);
?>

Je kan met dit script 2 soorten "thumbnails" gebruiken:

http://webserver/plaatje.php?imagefile=DSCN2880.JPG
Dan geeft ie kleine plaatjes.

http://webserver/plaatje.php?imagefile=DSCN2880.JPG&big=1
Dan geeft ie "grotere" thumbnails.

Met opzet gebruik ik een caching systeem... tis vervelend browsen als er 100-plaatjes telkens geresized moeten worden! (en dat met een database van 45.000 plaatjes) :P

Misschien werkt dit script ook onder IIS :?

Maar met Linux werkt het perfect!

suc7

My weblog


  • kaandorp
  • Registratie: November 1999
  • Laatst online: 03-09 22:36
Oke... ff voor de duidelijkheid...

Stel je even mijn situatie voor... Ik heb een Windows 2000 webserver met IIS. Ik heb een directory met een paar duizend plaatjes. Elke keer als ik er nieuwe aan toe voeg maak ik in photoshop een verkleining naar 800 x 600 en naar 200 x 150. En in mijn photogallery scriptje laat ik die dan weer weergeven op een albumpagina.

Niet echt een mooie oplossing dus.

- Kan ik de onderstaande oplossing van capedro gebuiken?
- Moet ik hiervoor GD instaleren?
- Werkt GD op Windows 2000?
- Worden de thumbs en de 800 x 600 plaatjes mooi? (Ik las namelijk dat GD alleen maar 8-bit ondersteunt.

  • Lurge
  • Registratie: Maart 2000
  • Niet online

Lurge

ActueleWind

- Kan ik de onderstaande oplossing van capedro gebuiken?
- Moet ik hiervoor GD instaleren?
- Werkt GD op Windows 2000?
- Worden de thumbs en de 800 x 600 plaatjes mooi? (Ik las namelijk dat GD alleen maar 8-bit ondersteunt.
1. Ja als het onder w2k werkt wel.
2. Ja of je moet een commandline program hiervoor nemen.
3. Dit weet ik niet.
4. GD2 ondersteunt truecolor pictures en deze pictures worden wel mooi.

ActueleWind


  • itsme
  • Registratie: Februari 2000
  • Niet online
Op maandag 18 februari 2002 11:18 schreef capedro het volgende:

[..]

Onder Linux heb ik resizen als volgt voor elkaar:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?
if (!isset($big)) {
 $maxsize = 115;
 $teksttype = 3;
 $typepicture = "small";
} else {
 $maxsize = 300;
 $teksttype = 5;
 $typepicture = "big";
}
$plaatje=$imagefile;
$imagefile = "/sites/private/photos/".$plaatje;
$cachefile = "/sites/private/cache/".$typepicture."-".$plaatje;
if (!is_file($imagefile)) {
  $imagefile = "/sites/private/dev/no_file.jpg";
  $cachefile = "/sites/private/cache/".$typepicture."no_file.jpg";
}



if (!is_file($cachefile)) {
  $src_img = imagecreatefromjpeg($imagefile);
  if( (imagesx($src_img)) > (imagesy($src_img)) ) {
    $ratiochange = imagesx($src_img) / $maxsize;
  } else {
    $ratiochange = imagesy($src_img) / $maxsize;
  }
  $new_w = imagesx($src_img)/$ratiochange;
  $new_h = imagesy($src_img)/$ratiochange;
  $dst_img = imagecreate($new_w,$new_h);
  $newimage= $cachefile;
  imagecopyresized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,imagesx($src_img),imagesy($src_img));
  imagejpeg($dst_img,$newimage);

}
Header ("Content-type: image/jpeg");
$im_tmp = imageCreate( $new_w, $new_h );
$im = imagecreatefromjpeg($cachefile);
ImageString ( $im, $teksttype, 15 ,5, $tekst, $KleurTekst);
ImageString ( $im, 1, 15 , ($new_h - 15), $tekst2, $KleurTekst);
Imagejpeg($im,'',100);
ImageDestroy($im);
?>

Je kan met dit script 2 soorten "thumbnails" gebruiken:

http://webserver/plaatje.php?imagefile=DSCN2880.JPG
Dan geeft ie kleine plaatjes.

http://webserver/plaatje.php?imagefile=DSCN2880.JPG&big=1
Dan geeft ie "grotere" thumbnails.

Met opzet gebruik ik een caching systeem... tis vervelend browsen als er 100-plaatjes telkens geresized moeten worden! (en dat met een database van 45.000 plaatjes) :P

Misschien werkt dit script ook onder IIS :?

Maar met Linux werkt het perfect!

suc7
Cool maaruh ... hoeveel mem heb je dan in de server :S

"If God wanted us to have unlimited free energy He would have put a giant fusion reactor in the sky"


  • Orphix
  • Registratie: Februari 2000
  • Niet online
Op maandag 18 februari 2002 14:17 schreef bas_konings het volgende:
Cool maaruh ... hoeveel mem heb je dan in de server :S
Hij slaat het alleen op de HD op

  • Joto
  • Registratie: Juni 2000
  • Laatst online: 10:21
Ik heb ook gezeten met veel plaatjes,

daar deze gallery voor geschreven.

Nodig : PHP, GD en index.php , eventueel wat plaatjes.

Comleetly file based
No Configuration needed
Just ONE File

* Place galeries in subdir from this script
* Galery Dirs must be writable by the webserver
* automaticly thumbnales will be created in the galery dirs
* Also a second thumbs size availble if source is to big



draait op http://Joto.yi.org/pics
script op http://joto.yi.org/pics/?source=true
Copy & past is OK ;)

je hoeft nooit meer iets te doen, thumbs worden, bij het eerste bezoek, gelijk gemaakt.
ben nog bezig met een nette multipage.

[ PS liever alleen kijken hoe pagina werkt, niet plaatjes kijken. ]

1+1+1 = 1


  • capedro
  • Registratie: Oktober 2000
  • Laatst online: 20-05 09:15
Op maandag 18 februari 2002 14:17 schreef bas_konings het volgende:

[..]

Cool maaruh ... hoeveel mem heb je dan in de server :S
[Ff off-topic en antwoord geven]
Op dit moment draait alles in ontwikkel-fase bij mij thuis... compleet met MySQL Server...

Zodra het hele zaakje online gaat... (45.000 photo's van minimaal 2048x1360 in true-color)

Maar ff voor de duidelijkheid mijn ontwikkelbak (server):
:) AMD-K6 500Mhz
:) 512MB PC100
:) Maxtor 5T060H6 60Gigabyte
:) Promise ATA100 Controller

Er zitten nog wat meer HD's in... maar voor realtime info verwijs ik je naar: sysinfo van mijn servert.
[/Ff off-topic en antwoord geven]


Die caching feature heb ik er met opzet ingedaan... eerste cachte tie alleen aan de hand van de $UNIQUE_ID.

Echter had ik de volgende problemen:
Plaatje werd gegenereerd en 1 keer gebruikt... daarna wegegooit ;( En iedere keer dat een plaatje geresized werd duurt het lang voordat je pagina helemaal opgebouwt is.... en ik ken mijzelf... dan ben ik weer snel weg.

Die cache is met opzet om zo de site sneller te maken en de load van de server niet over de streep heen te duwen.

Ik ben zeer te vreden over de oplossing!

Het heeft mij in eerste instantie flink wat hoofdbrekens bezorgt... dat resizen |:(

Je mag wel even kijken op die testserver maar niet te veel... ik heb maar BASIC-ADSL ;( en dan onder fotobank, zoeken in "categorie" en dan bijvoorbeeld "vervoer"

My weblog


  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op maandag 18 februari 2002 10:34 schreef CRiSiS het volgende:

[..]

GD wordt standaard meegeleverd met de PHP windows binary.

Je met alleen even je extension path goed zetten in je PHP.ini en de module voor GD uncommenten in je PHP.ini.
Ok ik ben nu thuis en wou gelijk beginne maar het enigste wat in mijn php.ini staat is
[code]; php.ini for PEAR tests
include_path=..
[mail function]
SMTP= localhost ; for Win32 only
sendmail_from= webmaster@fearnet.nl ; for Win32 only
upload_tmp_dir = C:\Program Files\PHP\uploadtemp ; temporary directory for HTTP uploaded files (will use system default if not specified)
[Session]
session.save_path= C:\Program Files\PHP\sessiondata ; argument passed to save_handler
PHP:
1
error_reporting= E_ALL; display all errors, warnings and notices

iemand raad voor mij????

specs : http://specs.tweak.to/7435


  • Grum
  • Registratie: Juni 2001
  • Niet online
ga zelf es zoeken ... er staan hier genoeg termen waarmee je binnen 5 minuten op google je antwoord hebt .. lazy... bleg

Verwijderd

Wat ook een leuk programma is waar je veel mee kan is ImageMagick. Kijk es op http://www.imagemagick.org. Daarmee kan je via system van alles doen met ongeveer alle bestandsformaten die je kan bedenken. Ik weet niet precies welke OSen het ondersteunt iig Linux.

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Op maandag 18 februari 2002 17:38 schreef Grum_ het volgende:
ga zelf es zoeken ... er staan hier genoeg termen waarmee je binnen 5 minuten op google je antwoord hebt .. lazy... bleg
ok ik quote
GD wordt standaard meegeleverd met de PHP windows binary.
Je met alleen even je extension path goed zetten in je PHP.ini en de module voor GD uncommenten in je PHP.ini.
en nog een
php config !!
staat 't allemaal in
[edit]
* CrazyA moet zich aanleren niet eerst GoT-treads te openen en dan pas een kwartier later te beginnen met reageren
ehmm bijde zeggen ze dat het standart in je php.ini hoort te staan.......

eehmm zie jij het....
nee dat d8 ik all

als je nou niks zinnigs te zeggen heb gaat dan ff ergens anders doen :r

specs : http://specs.tweak.to/7435


  • Grum
  • Registratie: Juni 2001
  • Niet online
ZUCHT MAN ZOEK DAN GEWOON OP GOOGLE ... ISSET NOU ECHT ZO LASTIG ???

http://www.phpbuilder.com/annotate/message.php3?id=1009351

oeeeeeee wat was dat MOEILIJK .. kostte me wel RUIM 30 seconde

LUIE DONDER :r :r :r :r :r

  • DaFearLess
  • Registratie: Juni 2001
  • Niet online
Ja dat had ik al van iemand gehad die mij wel een voledige php.ini heeft gestuurd en wat minder loopt te gillen :r gehad

specs : http://specs.tweak.to/7435


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

dicht
grum iets vriendelijker mag wel
dafearless iets duidelijker vraag stellen met duidelijkere foutmeldingen. Je mag een nieuwe maken mits ie duidelijk is....

deze thread is om zeep dus dicht

Doet iets met Cloud (MS/IBM)

Pagina: 1

Dit topic is gesloten.