Avatar billede straszek Praktikant
27. april 2003 - 19:39 Der er 9 kommentarer og
1 løsning

Ændring af upload script

jeg bruger nedenstående upload script, fundet her på eksperten. Er der nogen der kan hjælpe mig med at ændre det således at filnavnet bliver ændret til $orgid+ et timestamp, og samtidige bevarer den oprindelige endelse?

f.eks a11051456418.doc

<?php

if (isset($_FILES['upfile'])) {

//til brug for info om filtyper
$str1 = $_FILES['upfile']['name'];
$str2 = $_FILES['upfile']['size'];
$str3 = $_FILES['upfile']['type'];

//Filer som kan uploades
$filetyper = array("image/gif", "text/doc", "image/jpeg", "image/pjpeg", "image/png", "text/pdf", "application/pdf", "application/msword" );

//stien, hvortil filerne skal placeres   
$dist = "/var/www/html/sektorcare/grafik/";

//Tjek om der er en fil, samt om den overholder filtypen som kan uploades
    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] == "") {
echo"Ingen fil valgt! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;

}elseif (!in_array($_FILES['upfile']['type'], $filetyper)) {
echo "Filen kan ikke uploades.<br>\n<b>$str3</b> er ikke tilladt for upload! <a href=\"$_SERVER[HTTP_REFERER]\">tilbage</a></td>\n";
echo"</tr></table>\n";
echo"</center>\n";
echo"</body></html>";
exit;
    }

echo"&Oslash;nsket fil til upload:<p>\n";

    if (isset($_FILES['upfile']['name']) && $_FILES['upfile']['name'] !="") {

//se http://dk.php.net/manual/en/function.is-uploaded-file.php for "is_uploaded_file"       
        if(is_uploaded_file($_FILES['upfile']['tmp_name'])) {

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $_FILES['upfile']['name']);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }


echo "<b>Navn:</b> $str1, <b>st&oslash;rrelse:</b> $str2 bytes, <b>filtype:</b> $str3<br>\n";
echo"</p>";
    }
}else{

echo "Du skal v&aelig;lge en fil til upload. <a href=\"singleupload.html\">singleupload.html</a>";
}
?>
Avatar billede ahv Nybegynder
27. april 2003 - 19:44 #1
Istedet for:

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $_FILES['upfile']['name']);

så prøv:

$files = $_FILES['upfile']['name'];
$temparr = explode(".", $files);
$temparr[count($temparr)-2] = time();
$files = implode(".", $temparr);

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $files);
Avatar billede straszek Praktikant
27. april 2003 - 19:47 #2
Det virker ikke  - filen bliver ikke uploadet


Søren
Avatar billede ahv Nybegynder
27. april 2003 - 19:50 #3
Altså du rettede det til:

//Flyt filen fra upload-tmp til et dir. Husk at ændre "$dist" ovenover så det passer med din server :O)
$files = $_FILES['upfile']['name'];
$temparr = explode(".", $files);
$temparr[count($temparr)-2] = time();
$files = implode(".", $temparr);

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $files);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }

?
Avatar billede straszek Praktikant
27. april 2003 - 19:52 #4
Jeps!
Avatar billede ahv Nybegynder
27. april 2003 - 19:55 #5
Melder den nogen fejl?
Avatar billede straszek Praktikant
27. april 2003 - 19:56 #6
Nej ingen felj, der bliver bare ikke uploaded noget. Bruger jeg den oprindelige metode, er der ingen problemer med upload
Avatar billede ahv Nybegynder
27. april 2003 - 20:03 #7
prøv med:

$str1 = $files;
$temparr = explode(".", $files);
$temparr[count($temparr)-2] = time();
$files = implode(".", $temparr);

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $files);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }
Avatar billede straszek Praktikant
27. april 2003 - 20:08 #8
Det hjalp - nu mangler vi bare at få proppet $orgid ind foran datoen


Søren
Avatar billede ahv Nybegynder
27. april 2003 - 20:12 #9
Er ikke 100% på det virker men prøv blot:

$str1 = $files;
$temparr = explode(".", $files);
$temparr[count($temparr)-2] = time();
$files = implode(".", $temparr);

$name = "$orgid$files";

move_uploaded_file($_FILES['upfile']['tmp_name'], $dist . $name);
        }else{
        echo"Sorry, men upload skete IKKE!";
    }
Avatar billede straszek Praktikant
27. april 2003 - 20:16 #10
Det virker glimmerende - takker for hjælpen


Søren
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