Avatar billede jvjensen Nybegynder
05. april 2009 - 22:25 Der er 3 kommentarer

Hjælp til OOP

Hey alle...
Sidder med et uploads-script i php-oop, og ved ikke hvad #"%#% jeg skal gøre... Det virker ikke med jpeg, men fint med jpg, gif og png. Hvordan fortæller jeg den at den også skal tage jpeg??

<?php

class uploader {
    private $folder;
    private $file;   
    private $name;
    private $max_file_size;
    private $allowed_file_types;
    private $file_type;
   
    // Konstruktør
   
    public function __construct(){
        $this->max_file_size = 2097152; // = 2MB
    }
   
    // Hvilke filer der er tilladt
    public function setAllowed_file_types($type){
        $this->allowed_file_types[] = $type;
    }
   
    /**
    * Methoden bestemmer destinations-mappen
    * Methoden er obligatorisk
    * 
    * 
    * Mappen oprettes, hvis den ikke findes.
    * 
    * @param String(mappe-navn) $dir
    */
   
    //Hvilken mappe den skal uploade til
   
    public function setDir($dir){
        $this->folder = $dir;   
            if(!is_dir($this->folder))    {
                mkdir($this->folder);
        }
        //hvis bruger har undladet "/"
        if (substr($this->folder, -1) != "/"){
        $this->folder .= "/";
        }
    }
    // sætter filnavnet
    public function setFile($fil){
        $this->file = $fil;
        $this->name = $fil['name'];
       
        $dot = strrpos($this->name, ".");
        $extension = substr($this->name, $dot);
       
        $this->file_type = strtolower(ltrim($extension, "."));   
    }
    // medsendt argument til filnavn
    public function setName($name){
        $this->name = $name . "." . $this->file_type;       
    }
    // tilføjer timestamp til filnavn
    public  function addTimeStamp(){
        $this->name = time() . "_" . $this->name;
    }
    // sætter maxstørrelse på fil du kan uploade
    public function setMax_file_size($bytes){
        $this->max_file_size = $bytes;
    }
    // UPLOADEREN
    public function Upload(){
        if (!in_array($this->file_type, $this->allowed_file_types)) {
            return "Forkert filetype";
        }
       
        if ($this->max_file_size >= $this->file['size'])    {
           
            if (move_uploaded_file($this->file['tmp_name'], $this->folder . $this->name)) {
                chmod($this->folder . $this->name, 0777);
                return $this->name;
            }else {
                return "Filen blev ikke Uploaded, Prøv Venligst igen ";
            }
           
        }else {
                return  "Fejl. Filen er for stor";
        }
    }

   
   
   
   
}


?>
Avatar billede coderdk Praktikant
06. april 2009 - 00:51 #1
Hvordan bruger du det? Skal du ikke bare tilføje jpeg til allowed file types? ;P
Avatar billede riversen Nybegynder
06. april 2009 - 07:05 #2
tænker jeg også... du har vel ikke tilføjet jpeg til allowed filetypes
Avatar billede jvjensen Nybegynder
06. april 2009 - 11:57 #3
Det er nemlig lige det jeg skal :) Spørgsmålet er bare hvordan jeg lige gør det???
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester