[php] uploaden & resizen met GD werkt nog niet helemaal

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
heb de volgende code gemaakt om een plaatje te resizen en weg te schrijven..
alleen werkt hij nog niet helemaal... ik krijg hem niet verplaatst naar een dir en daarbij resized.

PHP:
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
44
45
46
47
48
<?php 
 header("Content-type: image/JPEG");   // We maken een GIF/PNG image... 
$path="d:/www/godsdept.nl/www/nice.jpg";
if (isset($path)){ 
 $size = GetImageSize ($path); 
}else{ 
$path="d:/www/godsdept.nl/www/nice.jpg"; 
} 
$new_w=round(120 * ($size[0] / $size[1]) ); 
$new_h=120; 
$dst_img=imagecreatetruecolor ($new_w,$new_h);  
$size; 
if($size[2]==1){ 
 $src_img=ImageCreateFromGif($path); 
}else{ 
 $src_img=ImageCreateFromJPEG($path); 
} 


ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); 
if (function_exists("imagegif")) { 
    header ("Content-type: image/gif"); 
    //imagegif ($dst_img); 
    imagegif($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.gif');  
} 
elseif (function_exists("imagepng")) { 
    header ("Content-type: image/png");
    imagepng($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.png');  
    //imagepng ($dst_img); 
} 
elseif (function_exists("imagejpeg")) { 
    header ("Content-type: image/jpeg"); 
    //imagejpeg ($dst_img, "", 50);   // zet de file $dist_img op scherm
    Imagejpeg($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.jpg'); 
} 
elseif (function_exists("imagewbmp")) { 
    header ("Content-type: image/vnd.wap.wbmp"); 
    //imagewbmp ($dst_img); 
    Imagewbmp($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.wbmp'); 
} 
else 
{
    die("No image support in this PHP server"); 
}
?>   


wat doe ik hier fout ? zit hier al een avond naar te kijken..beetje frusti :(

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

Verwijderd

Wat gebeurt er wel, en wat gebeurt er niet? Foutmeldingen?

Acties:
  • 0 Henk 'm!

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
nou..met bovenstaande code weet ik hem nu te copieren naar de beterffende upload dir.
Alleen maakt hij er een png van (wat ik niet snap) en deze is nog groter dan het orgineel (komt dit omdat het een png wordt?)

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Zie regel 5 achteraan, en jij snapt in deze zelfgemaakte code dat hij er een png van maakt??? En het hangt er vanaf wat voor soort plaatje het is of jpg of png groter is.

Achteraan!!!

[ Voor 7% gewijzigd door Gomez12 op 26-02-2003 22:39 ]


Acties:
  • 0 Henk 'm!

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
dat vind ik ook een discutabele regel (nr.5) .. zoals je kunt zien ben ik een jpg aan het moven (en resizen) ...
dat stukkie snap ik dan niet helemaal

zie het niet .. snap niet waar je heen wil..
de volgende regel is in mijn ogen (ben een beginner, blijkt wel) een beetje tegenstrijdig :

header("Content-type: image/JPEG"); // We maken een GIF/PNG image...

hoe maak ik er gewoon jpg van ?

[ Voor 46% gewijzigd door whitehouse op 26-02-2003 22:42 ]

| www.everythingisspiritual.com | www.mosaic.org |


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
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
ImageCopyResized($dst_img,$src_img,0,0,0,0,$new_w,$new_h,ImageSX($src_img),ImageSY($src_img)); 
if (function_exists("imagegif")) { 
    header ("Content-type: image/gif"); 
    //imagegif ($dst_img);
    imagegif($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.gif');  
} 
elseif (function_exists("imagepng")) { 
    header ("Content-type: image/png");
    imagepng($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.png');  
    //imagepng ($dst_img);
} 
elseif (function_exists("imagejpeg")) { 
    header ("Content-type: image/jpeg"); 
    //imagejpeg ($dst_img, "", 50);   // zet de file $dist_img op scherm
    Imagejpeg($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.jpg'); 
} 
elseif (function_exists("imagewbmp")) { 
    header ("Content-type: image/vnd.wap.wbmp"); 
    //imagewbmp ($dst_img);
    Imagewbmp($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.wbmp'); 
} 
else 
{
    die("No image support in this PHP server");

1e if kijkt hij of hij een gif een gifje kan aanmaken, zoja maak dan een gifje aan.
zonee dan kijkt hij of hij een png kan aanmaken ,zoja maak dan een pngje aan
zonee dan kijkt hij of hij een jpg kan aanmaken , zoja maak dan een jpg aan
zonee dan kijkt hij of hij een bmp kan aanmaken, zoja maak dan een bmp aan
zonee print dan op het scherm dat NO IMAGE SUPPORT IN THIS PHP SERVER

goed doorlezen, en je moet er nu toch wel uitkomen.

Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Ik vind het toch wel heel bijzonder dat als je deze code zelf gemaakt heb, je nou niet snapt hoe je het zo kan aanpassen dat ie in geval van een jpg zal proberen een jpg te maken... Lees eerst de code eens rustig en begrijpend door, dan snap je misschien wat deze code doet en hoe je het kan aanpassen :)

Maar die complete laatste if-boom is een beetje raar en, imho, enigszins zinloos. Als je zo nodig een jpg wilt maken moet je er voor zorgen dat de voorlaatste elseif uitgevoerd wordt in het geval er een jpg is trouwens.

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 17-09 16:59

Johnny

ondergewaardeerde internetguru

Gomez12 schreef op 26 February 2003 @ 22:49:
PHP:
1
2
3
4
5
elseif (function_exists("imagewbmp")) { 
    header ("Content-type: image/vnd.wap.wbmp"); 
    //imagewbmp ($dst_img);
    Imagewbmp($dst_img,'d:/www/godsdept.nl/www/img/upload/nice.wbmp'); 
}

1e if kijkt hij of hij een gif een gifje kan aanmaken, zoja maak dan een gifje aan.
zonee dan kijkt hij of hij een png kan aanmaken ,zoja maak dan een pngje aan
zonee dan kijkt hij of hij een jpg kan aanmaken , zoja maak dan een jpg aan
zonee dan kijkt hij of hij een bmp kan aanmaken, zoja maak dan een bmp aan
zonee print dan op het scherm dat NO IMAGE SUPPORT IN THIS PHP SERVER

goed doorlezen, en je moet er nu toch wel uitkomen.
Dat is geen bmp maar een wbmp (wireless bitmap) voor op wap-sites.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Johnny schreef op 26 February 2003 @ 23:15:
[...]


Dat is geen bmp maar een wbmp (wireless bitmap) voor op wap-sites.
Bedankt, ik gebruik php alleen voor intranetsites en nog nooit iets met wap gedaan, en om nu php.net erbij te pakken om op te zoeken of wbmp hetzelfde is als bmp :)

  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
hij werkt !
nu wil ik dat het orgineel ook wordt opgeslagen. Ik had hiervoor het volgende bedacht :
PHP:
4
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $_FILES['userfile']['name'])) {   .. hier komt de code zoals hierboven hierboven is besproken }


is dit logisch ? dat je hem eerst opslaat en DAN dezelfde name gebruikt ( $_FILES['userfile']['tmp_name']) in je gd-conversie ?

| www.everythingisspiritual.com | www.mosaic.org |


  • whitehouse
  • Registratie: Maart 2000
  • Laatst online: 18-09-2019
heb het al :D

| www.everythingisspiritual.com | www.mosaic.org |


  • bas.kb
  • Registratie: Oktober 2002
  • Laatst online: 04-05 23:35

bas.kb

BI'er :P

<offtopic>
Mag ik de kwaliteit zien, wat is de url van het klein gemaakte plaatje? Mijn resultaten van GD2 zijn namelijk bar en boos. Lijkt wel 256 kleuren gifje, terwijl het wel gewoon jpeg is.
Afbeeldingslocatie: http://www.kortenbout.com/fotoboek/albums/maarten160203/normal_pict0059.jpg
</offtopic>

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16-09 09:15

Janoz

Moderator Devschuur®

!litemod

Al vaker voorbij geweest ;)

Zorg dat je begint met createimagetruecolor en kopieer hier je source plaatje in. Anders (met createfromjpeg) wordt namelijk idd 256 kleuren gebruikt.

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


  • bas.kb
  • Registratie: Oktober 2002
  • Laatst online: 04-05 23:35

bas.kb

BI'er :P

Bedankt! Ik was eerlijk gezegd gewoon benieuwd naar de kwaliteit van zijn plaatjes, als die van hem goed waren geweest... dan had ik gaan zoeken... maar nu hoeft dat niet meer. _/-\o_
Pagina: 1