Scoutnet vzw

We connect scouts!
Het is momenteel 08 Mei 2024 19:21

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 4 berichten ] 
Auteur Bericht
BerichtGeplaatst: 23 Mrt 2006 23:12 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 02 Feb 2004 0:00
Berichten: 173
Hey,

wij (willen) gebruiken op onze (toekomstige) site deze klasse om foto's te verkleinen en thumbs aan te maken. Maar driemaal helaas, het werkt nàtuurlijk weer niet. Op mijne localhost werkt het nochtans wel... Als ik het script uitvoer, krijg ik wel de vermelding "gelukt", maar de nieuwe foto wordt niet aangemaakt.

In de map 'test' staat: test.php en image.class.php
Welke permissie moet de map test krijgen? 777? of is dat niet nodig (in beide gevallen werkt het niet...)

Geraakt er iemand wijs uit waarom het niet werkt? Hartelijken dank alvast

test.php
Code:
include("image.class.php");

$source = "F10.jpg";
$max_width = "500";
$max_height = "500";
$dest = "F11.jpg";

$obj = new image;
$obj->display($source,$max_width,$max_height,$dest);


image.class.php
Code:
class image {
   var $source;
   var $max_width;
   var $max_height;
   var $dest;
   
   function display($source,$max_width,$max_height,$dest)
      {
       $this->max_width = $max_width;
       $this->max_height = $max_height;
       $this->source = $source;
         $this->dest = $dest;
      
       $this->create();
      }
   function get_width()
      {
       $img_info = getimagesize($this->source,$info);
       return $img_info[0];
      }
   function get_height()
      {
       $img_info = getimagesize($this->source,$info);
       return $img_info[1];
      }
   function get_extension()
      {
       $img_info = getimagesize($this->source,$info);
       if ($img_info[2]==1) {
         return "gif";
      
         } elseif ($img_info[2]==2) {
             return "jpg";

         } elseif ($img_info[2]==3) {
         return "png";
      
         } else {
         $return = 0;      
         }            
      }
   // Width calculation of thumbnail
   function CalcWidth()
      {
      if ($this->get_width() > $this->get_height()) {
         //
         // let's take the width as the largest dimension
         //
         return ($this->max_width);
         } else {
         //
         // the width will have to be of the same ration as the height
         //
         return(floor(($this->max_height * $this->get_width()) / $this->get_height()));
         }
      }
      // Height calculation of thumbnail
   function CalcHeight()
      {
      if ($this->get_width() > $this->get_height()) {
         //
         // the height will have to be of the same ration as the width
         //
         return(floor(($this->max_width * $this->get_height()) / $this->get_width()));
         } else {
         //
         // let's take the height as the largest dimension
         //
         return($this->max_height);
         }
      }
   
   // Creating a thumbnail
   function Create()
      {
      switch ($this->get_extension())
         {
         case 'gif':
            $img_src = ImageCreateFromGIF ( $this->source );
            break;

         case 'jpg':
            $img_src = imagecreatefromjpeg ( $this->source );
            break;

         case 'png':
            $img_src = ImageCreateFromPNG ( $this->source );
            break;
         }

      $img_des = imagecreatetruecolor($this->CalcWidth(), $this->CalcHeight());
      if(!file_exists($this->dest)) {
         imagecopyresized($img_des, $img_src, 0, 0, 0, 0, $this->CalcWidth(), $this->CalcHeight(), $this->get_width(), $this->get_height());
         imagejpeg($img_des,$this->dest);
         echo "gelukt";
         } else {
            echo "Foto bestaat al<br />";
            $continue = FALSE;
         }
      }

}


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 24 Mrt 2006 9:30 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 22 Aug 2005 14:43
Berichten: 46
Woonplaats: Gent
ik dacht dat ze van scoutnet uit vroegen (of zelfs met aandrang afraadden [of is het afrieden? dunno]) om foto's niet on-the-fly te resizen, maar meteen kleinere versies van de foto's te uploaden? of in jullie geval: de thumbs vooraf offline te maken en meteen erbij te zetten?

gewoon omdat de server het zo al lastig genoeg heeft, en je op die manier megabytes, cpu-tijd én bandbreedte uitspaart.


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 24 Mrt 2006 10:19 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 02 Feb 2004 0:00
Berichten: 173
Oh, is het? Wist ik niet. Zowieso, vanaf dat er wat veel foto's worden geüpload, verklein ik die handmatig, hoor. Dus dan laat ik deze klasse wel vallen voor het resizen van foto's in het fotoalbum.

Maar het kan handig zijn als bv er leiding hun foto (voor in hun profiel) uploaden en deze te resizen naar de juiste grootte. Mijn medeleiding zijn zowat de grootste leken op dit gebied en veel foto's zijn dat niet.

En ook kwestie van bij te leren, zou ik graag de fout vinden. Ook al gebruiken we de klasse later dan niet meer. Kan het zijn dat
Code:
$source = "F10.jpg";
moet vervangen worden door
Code:
/scoutnet/*********/public_html/test/
Maar wat zou dat dan moeten zijn? Bovenstaande werkt ook niet...


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 24 Mrt 2006 20:20 
Offline
Site Admin
Site Admin

Geregistreerd: 30 Sep 2002 23:00
Berichten: 1806
het "on-the-fly" images resizen is geen probleem.

alleen doe je dit beter niet bij iedere request.

Met een eenvoudige "if" ga je eerst kijken of de thumbnail reeds bestaat.
Moet de thumbnail nog gemaakt worden dan ga je "on-fly-resizen" + thumbnail wegschrijven naar disk.


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 4 berichten ] 

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 10 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
cron
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.