Avatar billede nikksen Nybegynder
04. januar 2006 - 17:50 Der er 3 kommentarer og
1 løsning

Omdøbe filnavn ved upload

Hej, fandt det her upload script et andet sted, men vil gerne have at filen der uploades får ændret sit navn til et noget bestemt så der ikke bliver uploadet filer med samme navn. Scriptet skal bruges til billeder. Her er mit script:

<?php
$HTTP_GET_VARS = $_GET;
$HTTP_POST_VARS = $_POST;
$HTTP_FILES_VARS = $_FILES;
$HTTP_SERVER_VARS = $_SERVER;
extract($_GET);
extract($_POST);
extract($_FILES);
extract($_SERVER);

if (!empty($_FILES['upfile']['name'])) {
    if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {
        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT']."/dvd_film/covers/";
        $billedeurl = $HTTP_POST_FILES['upfile']['name'];

        $film_navn = $_POST['film_navn'];
        $film_beskrivelse = $_POST['film_beskrivelse'];     

        mysql_connect("localhost","###","###");
        mysql_select_db("###");
        mysql_query("INSERT INTO film (film_navn, film_beskrivelse, billedeurl) VALUES ('$film_navn', '$film_beskrivelse', '$billedeurl')") or die(mysql_error());

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$HTTP_POST_FILES['upfile']['name']);
        $besked = "$billedeurl er blevet uploadet med succes!";
    }else{
        $besked = "Sorry, men upload skete IKKE!";
    }
}else{
    $besked = "V&aelig;lg en fil til upload:";
}
?>
<html><head><title>Upload fil</title>
</head>
<body>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<center>
<table><tr>
<td><?php echo $besked; ?><br>
<input type="text" name="film_navn" size="32"><br>
<textarea name="film_beskrivelse" rows="5" style="width: 260px"></textarea><br>
<input name="upfile" type="file" size="32" style="width: 260px"><p>
<center><input type="submit" value="Upload" class="submit"></center></td>

</tr></table>

</center>
</form>
</body></html>

På forhånd tak for hjælpen!
Avatar billede nikksen Nybegynder
04. januar 2006 - 17:51 #1
Har forresten kigget rundt omkring med lignende spørgsmål, men kan ikke få det til at fungere i mit script. :-/
Avatar billede jaw Nybegynder
04. januar 2006 - 17:54 #2
Det der giver din fil navnet er denne linie:
move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$HTTP_POST_FILES['upfile']['name']);

Nu kan vi jo lege, at du vil give den navnet på dags dato og så dens eget "efternavn", kan det evt. gøres således:

$extension = substr($HTTP_POST_FILES['upfile']['name'], -3);
$filnavn = date("YmdHis").".".$extension;
move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist.$filnavn);
Avatar billede nikksen Nybegynder
04. januar 2006 - 18:06 #3
Perfekt! Så kan jeg vidst selv klare det herfra! :)

Smid et svar så får du point.
Avatar billede jaw Nybegynder
04. januar 2006 - 19:25 #4
Skide godt :)
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