Gå til innhold

Upload script. Velge hvor det skal lagres?


Anbefalte innlegg

Hei!

 

Har akkurat fønni et album som enn kan bare kan laste opp en mappe med bilder, så blir det med i albumet.

 

Istedenfor å brukte FTP så kunne jeg tenkte meg å lage et script som jeg kan laste opp med, og det skal inne holde en "funksjon" som gjør at jeg kan ta å velge hvor filene skal legges.

 

Tenkers på et enkelt script som kan kan velge hvor det skal lagres.

 

Noen som har et slikt script eller kan redigere et ?

 

edit: en ting til: er det mulig å laste opp en hel mappe?

 

 

Sempron ;)

Endret av Sempron
Lenke til kommentar
Videoannonse
Annonse

Det er vel den eneste metoden man kan laste opp filer via http.

 

<form method="POST"..>

<input type="file" ...>

...

</form>

 

Størrelsesbegrensningen er avhengig av php og webserver config. Vet ikke om noen øvre grense. Har sett poster hvor folk skriver om 350MB osv.

 

edit: forresten det finnes en metode til som heter PUT. Blir brukt av enkelte html editorer.

Endret av grimjoey
Lenke til kommentar

Prøv denne. Funker kun med en fil om gangen.

 

<html>
<body>
<?php

if(!$filesavelocation = $_GET['filesavelocation']) $filesavelocation = htmlentities($_SERVER['DOCUMENT_ROOT']);

if($_POST['submit_file']) {
 $filesavelocation = $_POST['file_save_location'];
 if(!$localfilename = ($_FILES['userfile']['tmp_name'])) die('Something went wrong!');
 if(!$filename = ($_FILES['userfile']['name'])) die('Something went wrong!');
 if(!move_uploaded_file($localfilename,$filesavelocation.'/'.$filename)) die('fil ikke flyttet'.$localfilename.' '.$filesavelocation.' '.$filename);

} else {
 echo '
<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<input type="hidden" name="file_save_location" value="'.$filesavelocation.'">
<input type="file" name="userfile">
<input type="submit" name="submit_file" value="Last opp fil">
</form>
<br>
<br>
Velg plassering før du laster opp fil.<br>
<br>
';
}

function showdirstruct($dirname)
{
 global $filesavelocation;
 if(!$dirhandle = opendir($dirname)) die('no such dir.');
 while($fileordir = readdir($dirhandle))
 {
   if(is_dir($filesavelocation.'/'.$fileordir) && substr($fileordir,0,1) != '.')
   {
     echo('<a href="'.$_SERVER['PHP_SELF'].'?filesavelocation='.$filesavelocation.'/'.$fileordir.'">'.$fileordir.'</a><br>');
     #showdirstruct($fileordir);
   } elseif(substr($fileordir,0,1) != '.') {
     echo($fileordir.'<br>');
   }
 }
}

showdirstruct($filesavelocation.'/');
echo('<br>Du befinner deg i '.$filesavelocation.'!');
echo('<br><a href="'.$_SERVER['PHP_SELF'].'?filesavelocation=">Tilbake</a>');
?>
</body>
</html>

Lenke til kommentar
<html>
<body>
<?php

if(!$filesavelocation = $_GET['filesavelocation']) $filesavelocation = htmlentities($_SERVER['DOCUMENT_ROOT']);

function showdirstruct($dirname)
{
 global $filesavelocation;
 if(!$dirhandle = opendir($dirname)) die('no such dir.');
 while($fileordir = readdir($dirhandle))
 {
   if(is_dir($filesavelocation.'/'.$fileordir) && substr($fileordir,0,1) != '.')
   {
     echo('<option value="'.$fileordir.'">'.$fileordir.'</option>');
#      echo('<a href="'.$_SERVER['PHP_SELF'].'?filesavelocation='.$filesavelocation.'/'.$fileordir.'">'.$fileordir.'</a><br>');
     #showdirstruct($fileordir);
#    } elseif(substr($fileordir,0,1) != '.') {
#      echo($fileordir.'<br>');
   }
 }
}

if($_POST['submit_file']) {
 $filesavelocation = $_POST['file_save_location'];
 if(!$localfilename = ($_FILES['userfile']['tmp_name'])) die('Something went wrong!');
 if(!$filename = ($_FILES['userfile']['name'])) die('Something went wrong_!');
 if(!move_uploaded_file($localfilename,$filesavelocation.'/'.$filename)) die('fil ikke flyttet'.$localfilename.' '.$filesavelocation.' '.$filename);
 echo('File uploaded successfully.');
} else {
 echo '
<form enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="150000">
';
#<input type="hidden" name="file_save_location" value="'.$filesavelocation.'">
echo '
<input type="file" name="userfile">
<select name="file_save_location">
';
showdirstruct($filesavelocation.'/');
echo '
</select>
<input type="submit" name="submit_file" value="Last opp fil">
</form>
';
}
#echo('<br>Du befinner deg i '.$filesavelocation.'!');
#echo('<br><a href="'.$_SERVER['PHP_SELF'].'?filesavelocation=">Tilbake</a>');
?>
</body>
</html>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...