PHP: Datei-upload

edit | delete

Autor: Ralf v.d.Mark

eingetragen: Dienstag, 29. August 2006 um 14:19 Uhr (35/2006 Kalenderwoche)

geändert: Freitag, 07. August 2020 um 12:50 Uhr (32/2020 Kalenderwoche)

Keywords: Fileupload schreiben dateiupload speichern

Kategorien: HTML, PHP,

Text:

ein File-Upload benötigt im Form-Tag den Eintrag: enctype="multipart/form-data"


das File kann nicht mit $POST['xxx'] entgegengenommen werden, sondern nur mit dem mehrdimensionalen Array $FILES['XXX']

Quellcode:  

<form action="file_upload.php" method="post" enctype="multipart/form-data">
  <input type="file" name="download_datei" value="">
  <input type="submit" name="speichern" value="speichern">
</form>


<?php
echo $_POST['Textfeld'];
echo '<hr>';
print_r($_FILES['download_datei']);
echo '<hr>';
echo $_POST['Senden'];
echo '<hr>';
echo $_FILES['download_datei']['size'];


if(!empty($_FILES['download_datei']['size'])){
       if(move_uploaded_file($_FILES['download_datei']['tmp_name'], $_SESSION['verzeichnis_pfad'].'/'.$_FILES['download_datei']['name'])) {
           chmod ($_SESSION['verzeichnis_pfad'].'/'.$_FILES['download_datei']['name'], 0755);
           echo '<h3>Die Datei "'.$_FILES['download_datei']['name'].'" wurde erfolgreich in das Verzeichnis "'.$_SESSION['verzeichnis_pfad'].'" kopiert!</h3>';
           //print_r($_FILES);
       }
       else{
          echo '<h3>FEHLER: Die Datei "'.$_FILES['download_datei']['tmp_name'].'" wurde nicht in das Verzeichnis "'.$_FILES['download_datei'].'" kopiert!
           <br />
           Inhalt des Arrays "$_FILES":</h3>';
           print_r($_FILES);
       }
}//ENDE: if(!empty($_FILES['download_datei']['size']))


//kleine Funktion um eine Datei zu schreiben
function datei_schreiben($name, $inhalt, $wie = 'w')
{
    if ($zeiger = @fopen($name, $wie)) {
        fwrite($zeiger, $inhalt);
        fclose($zeiger);
    } else {
        //echo '<strong>Fehler beim Abspeichern, bzw. oeffnen der Save-Datei!</strong>';
    }//ENDE: else ==> if()
}//ENDE: function datei_schreiben($name, $inhalt)