Uploadscript

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Uploadscript

    Hallo,
    Ich habe hier ein Upload Script. Das Problem ist folgendes:
    Ich kann Dateien hochladen und sie im Browser auch wieder abrufen, wenn ich jedoch direkt ins FTP schaue wird die Datei nicht angezeigt. An was liegt das, und wie behebe ich dieses Problem?

    Vielen Dank im Voraus!



    Hier nun das Script:

    PHP-Code:
     <?php
    $loadto 
    "/XXX/XXXXXX/XXXX/XXXXXXXXX/sonstiges/upload/dateien/";
    $max_size 200000000//maximale Größe von Bildern
    echo '<form ENCTYPE="multipart/form-data" METHOD="POST">
    <div style="text-align:center; padding:20px; border:thin solid red; margin:25px">
    <P>Datei auswählen: <input type="file" style="background:#FFFFFF; color:#000000; 
    border:solid 1px #000000" size="40" name="userfile"><BR><BR>
    <input type="submit" class="Button" name="upload_pic" value="Hochladen"
    color:#000000; border:solid 1px #000000">
    </div>
    </form>'
    ;
    if(
    $_POST['upload_pic']){
    if(
    $_FILES['userfile']['name'] == "")
    {
    echo 
    "Bitte wählen sie eine Datei aus";
    }
    else
    {
    if (
    is_uploaded_file($_FILES['userfile']['tmp_name']))
    {

    if (
    $_FILES['userfile']['size']>$max_size///Prüfen ob das Bild zu groß ist
    {
    echo 
    "Die Datei ist zu groß<br>\n"; exit;
    }


    if (
    file_exists($loadto $_FILES['userfile']['name']))
    {
    echo 
    "Die Datei existiert schon!<br>\n"; exit;
    }

    $copy copy($_FILES['userfile']['tmp_name'], $loadto $_FILES['userfile']['name']);
    if (!
    $copy)
    {
    echo 
    "Upload Fehlgeschlagen!<br>\n"; exit; ///Upload FALSE
    }
    else
    {
    echo 
    "Datei wurde hochgeladen!<br>\n"; }
    echo 
    "Dateiname: ".$_FILES['userfile']['name']."<br>\n";
    echo 
    "Dateigröße: ".$_FILES['userfile']['size']." bytes<br>\n";
    echo 
    "Dateityp: ".$_FILES['userfile']['type']."<br>\n"/// UPLOAD TRUE
    }
    else
    {
    echo 
    "Ungültiger Dateityp<br>\n"; exit;
    }
    }
    }
    ?>
    Zuletzt geändert von Förbs; 13.08.2008, 16:08.

  • #2
    Gut, das Problem habe ich gelöst... jedoch bin ich jetz am verzweifeln, wie ich testen kann ob die Datei, die hochgeladen wird, eine ZIP datei ist. Wenn es keine ist soll sie nicht hochgeladen werden...

    Kommentar


    • #3
      OffTopic:
      bitte code umbrechen gemäß den foren-regeln


      PHP-Code:
      // zugelassene Dateitypen
      $config['upload_type'][] = "image/jpeg";
      $config['upload_type'][] = "image/pjpeg";
      $config['upload_type'][] = "image/gif";
      $config['upload_type'][] = "image/png";
      $config['upload_type'][] = "image/tiff";

      if (
      array_keys ($config['upload_type'], $_FILES['upload']['type']))
      {
         
      # weiterverarbeitung der dateien

      ob das die beste möglichkeit ist aber es funktioniert
      Gruß
      Uzu

      private Homepage

      Kommentar


      • #4
        Vielen Dank UzumakiNaruto!
        Mit Bildern geht das Script ohne Probleme. Nur wenn ich jetz das gleiche mit einer ZIP datei machen möchte, geht es nicht.

        Ich muss doch einfach folgendes schreiben:
        PHP-Code:
        $config['upload_type'][] = "zip"

        Kommentar


        • #5
          Niemals Benutzerdaten ungeprüft verarbeiten oder sogar noch wie hier zur Validierung verwenden. Diese Header-Informationen können einfach gefälscht werden und schon liegt ein feindliches Skript auf deinem Server. Der einzig halbwegs sichere Weg ist, den Dateityp selbst zu ermitteln, zum Beispiel bei Bildern mit Hilfe von getImageSize oder allgemein über die fileinfo-Funktionen.

          Kommentar

          Lädt...
          X