Avatar billede human Nybegynder
09. april 2007 - 13:10 Der er 6 kommentarer og
2 løsninger

Ændre fil navn til dato

Hej

Jeg har fundet det her upload script og strikket noget mysql ind i også.

Men jeg vil høre om det er muligt, lige meget hvad filen hedder, at ændre navnet til dato og tid.

Fx. så lkj.JPG kommer til at hedde 2007-04-09-13-01-46.jpg

Scriptet:
if (isset($HTTP_POST_FILES['upfile'])) {

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

        if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {

        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT'] ."/365/upload/";

        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist . $HTTP_POST_FILES['upfile']['name']);
        $besked = $HTTP_POST_FILES['upfile']['name'] ." er blevet uploadet med succes!";
       
       
       
        $insert2 = mysql_query("INSERT INTO images(dato, name) VALUES
        (NOW(), '".mysql_real_escape_string($HTTP_POST_FILES['upfile']['name'])."')") or die(mysql_error());
        $besked2 = "Også gemt i MySQL";
   
   
   
       
    }else{
        $besked = "Sorry, men upload skete IKKE!";
    }

}else{

$besked = "Du glemte at vælge en fil!";
    }

}else{

$besked = "Vælg en fil til upload..";
}
?>
<br /><br />

<form enctype="multipart/form-data" action="<?php print $_SERVER['PHP_SELF']; ?>" method="post">


<?php print "$besked <br /> $besked2"; ?><br>
<input name="upfile" type="file" size="32"><br /><br />
<input type="submit" value="Upload" class="submit">

</form>

På forhånd tak.
Avatar billede intenz Novice
09. april 2007 - 13:25 #1
Uden at have testet det, vil jeg tro du kan gøre det ved at udskrifte denne variabel: $HTTP_POST_FILES['upfile']['name']

F.eks. ændre:
move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist . $HTTP_POST_FILES['upfile']['name']);

til:
$filnavn = date("Y-m-d-G-i-s") . ".jpg";
move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist . $fil_navn);
Avatar billede human Nybegynder
09. april 2007 - 13:36 #2
Så kommer der en fejl. FIlen bliver ikke uploaded, men bliver gemt i mysql, dog ikke med korrekt navn

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

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

        if(is_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'])) {

        $dist = $HTTP_SERVER_VARS['DOCUMENT_ROOT'] ."/365/upload/";

        $filnavn = date("Y-m-d-G-i-s") . ".jpg";
        move_uploaded_file($HTTP_POST_FILES['upfile']['tmp_name'], $dist . $fil_navn);
       
       
       
        $insert2 = mysql_query("INSERT INTO images(dato, name) VALUES
        (NOW(), '".mysql_real_escape_string($HTTP_POST_FILES['upfile']['name'])."')") or die(mysql_error());
        $besked2 = "Også gemt i MySQL";


Warning: move_uploaded_file(/usr/home/customers/techcity.dk/wwwroot/www/365/upload/) [function.move-uploaded-file]: failed to open stream: Is a directory in /usr/home/customers/techcity.dk/wwwroot/www/admin/index.php on line 47

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/var/tmp/phpyGJI1U' to '/usr/home/customers/techcity.dk/wwwroot/www/365/upload/' in /usr/home/customers/techcity.dk/wwwroot/www/admin/index.php on line 47
Avatar billede human Nybegynder
09. april 2007 - 13:44 #3
Der var lige nogle variabler der skulle ændres. Virker nu.
Den uploader med korrekt filnavn. Den gemmer i MySQl, bortset fra den ikke får filnavnet med.

Hvordan skal den her se ud nu?

        $insert2 = mysql_query("INSERT INTO images(dato, name) VALUES
        (NOW(), '".mysql_real_escape_string($HTTP_POST_FILES['upfile']['name'])."')") or die(mysql_error());
        $besked2 = "Også gemt i MySQL";
Avatar billede intenz Novice
09. april 2007 - 13:45 #4
Jeg går ud fra det virkede før du ændrede det jeg skrev?

Og du har skriverettigheder til mappe du vil uploade til? (chmod)

Prøv at ændre:
$filnavn = date("Y-m-d-G-i-s") . ".jpg";

til:
$filnavn = date("Y-m-d-G-i-s") . ".jpg";
print "$HTTP_POST_FILES['upfile']['tmp_name'], $dist . $fil_navn <---<br><br>";


Og skriv så her hvad den skriver.

Du kan ændre i din mysql:
'".mysql_real_escape_string($HTTP_POST_FILES['upfile']['name'])."'

til
'".$filnavn."'

For at den indsætter det rigtige filnavn.
Avatar billede intenz Novice
09. april 2007 - 13:45 #5
Okay, så skal du bare ændre det nederste jeg skrev :)
Avatar billede human Nybegynder
09. april 2007 - 13:52 #6
Jo tak, det spiller jo :)
Avatar billede intenz Novice
09. april 2007 - 13:54 #7
Så lidt ;)
Avatar billede human Nybegynder
09. april 2007 - 14:00 #8
Hvis du er frisk på lidt mere så http://www.eksperten.dk/spm/772322 :)
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