/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Tutorial om klasser?
Fra : Ole Moe


Dato : 23-02-03 17:11

Hej NG

1. Er der nogen af jer der kender en eller flere (gode) tutorails
der omhandler klasser og PHP.

2. Jeg er gået i gang med at lave min første klasse, men den vil
ikke helt som jeg synes den skal...!

Jeg har følgende, der behandler et billede og gør det større
eller mindre. Det virker hvis jeg bruger det direkte i filen:

class galleri {

var $prefix, $sti, $fil, $max_size;

   function make_image($sti, $fil, $max_size, $prefix) {
      $this->image = $sti . $fil;
      $image_out = $sti . $prefix . $fil;
      $size = getimagesize($image);
      $src_width = $size[0];
      $src_height = $size[1];
      $type = exif_imagetype($image);
      if($type==2){
         $src_img = imagecreatefromjpeg($image);
      } else if($type==3){
         $src_img = imagecreatefrompng($image);
      }

      if($src_height <= $max_size || $src_width <= $max_size){
         $dest_height = $src_height;
         $dest_width = $src_width;
      } else {
         $faktor = $src_height/$max_size;
         $faktor1 = $src_width/$max_size;
         if($faktor < $faktor1){
            $faktor = $faktor1;
         }
         $dest_width = $size[0]/$faktor;
         $dest_height = $size[1]/$faktor;
      }
      $dst_img = imagecreatetruecolor($dest_width,$dest_height);
      imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,
$dest_height, $src_width, $src_height);
      imagejpeg($dst_img, $image_out, 100);
      imagedestroy($dst_img);
      imagedestroy($src_img);
   }
}

Jeg for følgende fejlmeddelelser:

Warning: imagecopyresampled(): supplied argument is not a valid
Image resource in F:\root\nys\galleri.class.php on line 32

Warning: imagedestroy(): supplied argument is not a valid Image
resource in F:\root\nys\galleri.class.php on line 35


Hilsen Ole

--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

 
 
Jens Tønnesen (23-02-2003)
Kommentar
Fra : Jens Tønnesen


Dato : 23-02-03 18:32

Ole Moe <ojo@ofir.dk> skrev i
dk.edb.internet.webdesign.serverside.php:

>1. Er der nogen af jer der kender en eller flere (gode) tutorails
>der omhandler klasser og PHP.

Der er vist nogle på PHPBuilder:
http://www.phpbuilder.com/columns/index.php3?cat=6&subcat=38

Men ellers synes jeg ikke, at det er overvældende, hvad jeg har kunnet
finde om emnet.

>2. Jeg er gået i gang med at lave min første klasse, men den vil
>ikke helt som jeg synes den skal...!

Din fejl har så vidt jeg kan se ikke noget at gøre med, at den bruges
inde i en klasse.

>Jeg har følgende, der behandler et billede og gør det større
>eller mindre. Det virker hvis jeg bruger det direkte i filen:

>class galleri {

>var $prefix, $sti, $fil, $max_size;
>
>   function make_image($sti, $fil, $max_size, $prefix) {
>      $this->image = $sti . $fil;
>      $image_out = $sti . $prefix . $fil;
>      $size = getimagesize($image);
>      $src_width = $size[0];
>      $src_height = $size[1];
>      $type = exif_imagetype($image);
>      if($type==2){
>         $src_img = imagecreatefromjpeg($image);
>      } else if($type==3){
>         $src_img = imagecreatefrompng($image);
>      }
>
>      if($src_height <= $max_size || $src_width <= $max_size){
>         $dest_height = $src_height;
>         $dest_width = $src_width;
>      } else {
>         $faktor = $src_height/$max_size;
>         $faktor1 = $src_width/$max_size;
>         if($faktor < $faktor1){
>            $faktor = $faktor1;
>         }
>         $dest_width = $size[0]/$faktor;
>         $dest_height = $size[1]/$faktor;
>      }
>      $dst_img = imagecreatetruecolor($dest_width,$dest_height);

Her glemmer du at teste om du får oprettet en gyldig image-ressouce,
som du anvender som første parameter i næste linie:

>      imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $dest_width,
>$dest_height, $src_width, $src_height);

Derfor fremkommer denne warning:

>Warning: imagecopyresampled(): supplied argument is not a valid
>Image resource in F:\root\nys\galleri.class.php on line 32

>      imagejpeg($dst_img, $image_out, 100);
>      imagedestroy($dst_img);

Her får du så

>Warning: imagecopyresampled(): supplied argument is not a valid
>Image resource in F:\root\nys\galleri.class.php on line 32

idet du stadig ikke har en gyldig ressource.

>       imagedestroy($src_img);
>   }
>}

Jeg kan ikke lige gennemskue, HVOR det præcis går galt i din kode, men
noget er i hvert fald galt i denne linie:

>      $size = getimagesize($image);

Her henter du jo størrelsen på et billeder, der ikke eksisterer. Måske
du skulle skrive

      $size = getimagesize($this->image);

i stedet.

--
Jens Tønnesen - http://www.pressefoto.dk

Ole Moe (24-02-2003)
Kommentar
Fra : Ole Moe


Dato : 24-02-03 01:47

Jens Tønnesen wrote in dk.edb.internet.webdesign.serverside.php:
> Der er vist nogle på PHPBuilder:
> http://www.phpbuilder.com/columns/index.php3?cat=6&subcat=38

Jeg takker Jens. Det er også min opfattelse at der ikke findes særlig
mange gode artikler, tutorials eller lign. om PHP og klasser.

Nogle der har adressen på nogle danske?

Håber jeg kan bruge din hjælp, vil kigge på det i morgen.

Hilsen Ole

--
Danmarks største specialiserede IT jobdatabase
- Udelukkende med IT- og internetrelaterede jobs
- Opret en profil og lad drømmejobbet finde dig
KLIK HER! => http://www.html.dk/job

Mads Lie Jensen (24-02-2003)
Kommentar
Fra : Mads Lie Jensen


Dato : 24-02-03 19:22

On Sun, 23 Feb 2003 16:10:52 +0000 (UTC), Ole Moe <ojo@ofir.dk> wrote:

>1. Er der nogen af jer der kender en eller flere (gode) tutorails
>der omhandler klasser og PHP.

I seneste nummer af Php Magazine er der en artikel om emnet - som også
kan læses online på
http://www.php-mag.net/itr/online_artikel/show.php3?id=284&nodeid=114


--
Mads Lie Jensen - mads@gartneriet.dk - ICQ #25478403
http://www.gartneriet.dk
Lær af andres fejl
- du lever alligevel ikke længe nok til selv at prøve dem alle.

Ukendt (27-02-2003)
Kommentar
Fra : Ukendt


Dato : 27-02-03 15:17

On Sun, 23 Feb 2003 16:10:52 +0000 (UTC), Ole Moe <ojo@ofir.dk> wrote:

>Hej NG

Hejsa

>

>Jeg for følgende fejlmeddelelser:
>
>Warning: imagecopyresampled(): supplied argument is not a valid
>Image resource in F:\root\nys\galleri.class.php on line 32
>
>Warning: imagedestroy(): supplied argument is not a valid Image
>resource in F:\root\nys\galleri.class.php on line 35

Har du testet (uden om klasserne) om det overhovedet kan lade sig gøre
at bruge de 2 funktioner?

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408937
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste