Upload SKript mit Fehler, den ich nicht finde.

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Upload SKript mit Fehler, den ich nicht finde.

    Hallo,

    n Freund von mir hat ein Upload Skript gebaut. Bei ihm funktioniert es, bei mir nicht. Obwohl wir das gleiche Skript verwendne.

    Code:

    PHP Code:
     <?php
     $user 
    "user";
     if(isset(
    $_POST['submit'])){
     
    $dateien $_GET['dateien'];
     
     
    $i 01;
     while (
    $i<=$dateien){
              
    $i sprintf("%02d"$i);
     
                       if(@
    opendir("/".$user."/") != "false"){
                              
    $source $_FILES["datei".$i]['tmp_name'];
                              
    $target $user."/".$_FILES["datei".$i]['name'];
                              
    move_uploaded_file($source$target);
                              echo 
    $_FILES["datei".$i]['name'].'erfolgreich hochgeladen!<br />\n';
                       }else{
                       echo 
    "Das Verzeichnis existiert nicht!";
                       }
     
              
    $i++;
     }
     }else{
     
     if(isset(
    $_GET['dateien'])){$dateien $_GET['dateien'];} else {$dateien 5;};
     
    $dateien sprintf("%02d"$dateien);
     
     echo 
    'Dateien hochladen<br /><br />';
     echo 
    '<form enctype="multipart/form-data" action="upload.php?dateien=$dateien" method="post">';
     echo 
    '<input type="hidden" name="MAX_FILE_SIZE" value="2621440" />';
     
     
    $p=01;
     while(
    $p<=$dateien){
     echo 
    "<input type=\"file\" name=\"datei".sprintf("%02d"$p)."\" size=\"35\" /><br />\n";
              
    $p++;
     }
     
     echo 
    '<br /><input type="Submit" name="submit" value="Hochladen">';
     echo 
    '</form>';
     
     }
     
     
    ?>
    Warum kommt bei ihm die Meldung, dass alles hochgeladen wurde (nachdem man den Ordner mit dem Namen user angelegt hat) und bei mir nur ne weiße Seite?

    Vielen Dank!

    kageMurai
    Last edited by KageMurai; 22-08-2007, 09:59.

  • #2
    Code:
    if(@opendir("/".$user."/") != "false"){
    Mach erstmal das @ weg, dann wird der dir schon sagen, dass das verzeichnis sicher nicht existiert.

    Dann

    Code:
    echo '<form enctype="multipart/form-data" action="upload.php?dateien=$dateien" method="post">';
    du mischst $_GET mit $_POST, böse!
    Der springt daher nicht in die whileschleife und gibt dir daher eine leere seite aus (da er auch nicht in den else teil unten geht)

    MfG

    Comment


    • #3
      du mischst $_GET mit $_POST, böse!
      Der springt daher nicht in die whileschleife ...
      das ist nicht der grund, $_GET und $_POST können gleichzeitig existieren.

      viel mehr zweifele ich
      Bei ihm funktioniert es, ...
      an, da das skript in dieser form müll ist. und
      PHP Code:
      echo '<form enctype="multipart/form-data" action="upload.php?dateien=$dateien" method="post">'
      ist ein klassisches "ich habe heute morgen beim duschen im radio gehört, wie die php syntax funktioniert, also ist ein blick ins manual völlig überflüssig".

      PHP Code:
      $p=01
      bis man damit auf die fresse fliegt, kann noch etwas dauern..

      Comment


      • #4
        bis man damit auf die fresse fliegt, kann noch etwas dauern..
        Siehe letzte Warnung von dir
        PHP Code:
        "false" 
        Dafür gibts einen eignen Typen - boolean.
        PHP Code:
        $p=01;
        while(
        $p<=$dateien){
         ... 
        sprintf("%02d"$p) ... 
        Das ist ja wohl der größte murks - schonmal von for gehört?
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Comment


        • #5
          hi

          echo '<form enctype="multipart/form-data" action="upload.php?dateien=$dateien" method="post">';
          funktioniert nicht, weil in einfachen Hochkommas keine skalare ersetzt werden!

          PHP Code:

          //entweder

          echo '<form enctype="multipart/form-data" action="upload.php?dateien='.$dateien.'" method="post">';

          //oder

          echo "<form enctype=\"multipart/form-data\" action=\"upload.php?dateien=$dateien\" method=\"post\">"
          Außerdem empfielt es sich einfach mal diverse Variablen auslesen zu lassen und zu schauen, ob die passen!

          Anfangend z.B bei:
          PHP Code:
          echo nl2br(print_r($_GET,TRUE));
          echo 
          "<br /><br />";
          echo 
          nl2br(print_r($_POST,TRUE)); 
          Oftmals hock ich ne Stunde an einem Fehler! Aber einfach seinen fetten Code hier reinzuschmeissen und die anderen suchen zu lassen ist auch schlecht!
          Find Parties?
          Partysuche

          Comment

          Working...
          X