Gå til innhold

"galleri" classe problemer.


Anbefalte innlegg

Bega meg ut på og lage en liten klasse i går natt.

Uten egentlig å ha nok peiling på oop :(

Så når jeg da kom til første gang jeg skulle sjekke om det funka, vell, så gjorde det ikke det.

Håper noen er villige til å se igjennom det og påpeke feilene, da jeg er usikker selv.

Classen:

 

class Gallery {

       // Creating config variables
       var $conf_directory;
       var $conf_max_per_page;
       var $conf_not_dir;
       var $conf_image_list;
       var $conf_image_size;
       var $i;
       $this->conf_image_size = array();
       $this->conf_image_list = array();
       
       // Directory error message
       $this->conf_not_dir = false;
       
       // Function that reads the directory into an array
       function read_dir() {
               if (!is_dir($this->conf_directory)) {
                       return $this->conf_not_dir;
               }
               else {
                       if ($handle = opendir($this->conf_directory)) {
                               while (false !== ($file = readdir($handle))) {
                                       $file_place = "$this->conf_directory/$file";
                                       if ($file != "." && $file != ".." && is_file($file_place)) {
                                               $this->i = 0;
                                               $this->conf_image_list[$i] = $file;
                                               $this->conf_image_size[$i] = filesize($file);
                                               $this->i++;

                                       }
                                       return $this->conf_image_list;
                                       return $this->conf_image_size;
                                       return $this->i;
                               }
                       }
               }
       }
}

 

Måten jeg kaller classen på:

 

require_once("classGallery.php");
$gallery = &new Gallery;
$gallery->conf_directory = "pics";
$file_list = $gallery->read_dir();
print_r($file_list);

 

Er takknemlig om noen gidder se igjennom det.

Lenke til kommentar
Videoannonse
Annonse

Har feilsøkt og rettet litt. Resultatet ser du her.

 

Et par ting som jeg rettet:

 

*For å initialisere variabler så lager du en konstrueringsfunksjon med sammen navn som klassen.

*Du trenger ikke en variabel for filnavn og en for størrelse. Matriser i matriser er en fin ting!

*Indeksering trengs ikke i en while-løkke (bruk [], ikke [$i];$i++ med mindre du MÅ)

*la til en sjekk om filen hadde en endelse som indikerte at det var en bildefil ($this->valid_endings)

*For å sette en variabel i en klasse så lager du en funksjon for det. Klassevariabler er beskyttet, og kan ikke endres (bare leses) fra hovedskriptet.

 

Håper dette hjelper.

 

Edit

* $this->conf_image_list døpte jeg om til $this->image_list da dette ikke er en configurasjon :)

 

Har laget litt andre funksjoner også. Tenkte det kunne være nyttig.

Endret av BlueEAGLE
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...