Avatar billede Authiel Nybegynder
18. oktober 2010 - 09:41 Der er 4 kommentarer og
1 løsning

Lav en fileupload function

Hejsa alle eksperter. Jeg sidder her og er kommet i tvivl om det er muligt at lave en function til at oploade mine filer gennem. Det jeg ikke er sikker på er om det vil kunne lade sig gøre ved at lave en function der minder om denne her:

function uploadFile($target, $fil){
  Selve upload koden her
}

Det jeg er i tvivl om er om den vil kunne finde ud af det hvis at man smider "$_FILES['file_field_name']" ind i en anden variabel.

og så kalder den ned gennem min function på den her måde:

$fil['tmp_name']
Avatar billede michael_stim Ekspert
18. oktober 2010 - 11:35 #1
Det burde ikke være noget problem. Her er et eksempel på en upload funktion, det er dumt at opfinde hjulet gang på gang ;o)

http://www.devppl.com/forum/php-upload-file-function-vt1243.html
Avatar billede Authiel Nybegynder
19. oktober 2010 - 10:54 #2
smid et svar og du skal blive belønnet Michael :D
Avatar billede Authiel Nybegynder
19. oktober 2010 - 11:05 #3
Vil også lige smide den function op jeg selv har siddet og lavet. Udover at den uploader så smider den også informationerne ind i databasen. Ville være cool med lidt konstruktivt kritik på den.
Den del af koden som indsætter i databasen, er lavet på baggrund af at der måske skal indsættes flere informationer i samme tabel efter i hinanden men på forskellige steder.

Index.php kode:
if(isset($_POST['add'])){
        $db_created = 'yes'; //Is the row in the tabel already created.
        $target_db = 'img'; //The tabel wich the img-path will be placed in.
        $target_row = 'I_PATH2'; //Name of the column the path shoud be placed in.
        $target = 'img/'; //Folder to place the file in.
        $file = $_FILES['img']; //Name of the input field.
        $maxsize = '5' * 1024 * 1024; //"x" = maximum size of the file in megabytes.
        $type = 'image'; //Type of file. "data" for pdf-, "image" for image-files.
        uploadFile($db_created, $target_db, $target_row, $target, $file, $maxsize, $type);
    }

function.php kode:
function uploadFile($db_created, $target_db, $target_row, $target, $file, $maxsize, $type){
        $error = "";
        if($type == "image"){
            if(($file["type"] == "image/jpeg") || ($file["type"] == "image/jpg") || ($file["type"] == "image/png")){
                $filetype = true;
            } else {
                $error = $error . 'Fil typen er ikke understøttet som billedfil.<br />';
            }
        } else if($type == "data"){
            if(($file["type"] == "application/pdf")){
                $filetype = true;
            } else {
                $error = $error . 'Fil typen er ikke understøttet som datafil.<br />';
            }
        }
        if($maxsize == ""){
            $size = true;
        } else {
            if($file["size"] < $maxsize){
                $size = true;
            } else {
                $error = $error . 'Filen er for stor.<br />';
            }
        }
        if(file_exists('img/' . $file["name"])){
            $exists = true;
            $error = $error . 'Filen: ' . $file["name"] . ' eksisterer allerede.<br />';
        } else {
            $exists = false;
        }
        if($filetype == true && $size == true && $exists == false){
            move_uploaded_file($file["tmp_name"], $target . $file["name"]);
            echo 'Upload lykkedes. Din fil er gemt her: ' . $target . $file["name"];
            if($db_created == "no"){
                $path = $file['name'];
                mysql_query("INSERT INTO " . $target_db . " (" . $target_row . ") VALUES ('" . $path . "')");
            } else if($db_created == "yes"){
                $idquery = mysql_query("SELECT I_ID FROM " . $target_db . " ORDER BY I_ID DESC LIMIT 1");
                $idrow = mysql_fetch_assoc($idquery);
                $id = $idrow['I_ID'];
                $path = $file['name'];
                mysql_query("UPDATE " . $target_db . " SET " . $target_row . "='" . $path . "'");
            }
        } else {
            echo $error;
        }
    }
Avatar billede michael_stim Ekspert
19. oktober 2010 - 14:14 #4
Ellers tak, samler ikke på point. Læg selv et svar og accepter.
Avatar billede Authiel Nybegynder
19. oktober 2010 - 16:07 #5
oki :D
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