Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei-Upload unverständlich

Einklappen

Neue Werbung 2019

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

  • Datei-Upload unverständlich

    Hi. Ich möchte einen File-upload schreiben und habe mir schon mehrere Tutorials angesehen. Ich habe mich bei meinen Bemühungen im großen und ganzen (fast komplett) an den Beispielen aus dem Inet orientiert.

    Mein Script:
    PHP-Code:
    if ($_FILES["pictureName"]["error"] > 0)
          {
          echo 
    "Error: " $_FILES["pictureName"]["error"] . "<br />";
          }
          else
          {
            echo 
    "Upload: " $_FILES["pictureName"]["name"] . "<br />";
            echo 
    "Type: " $_FILES["pictureName"]["type"] . "<br />";
            echo 
    "Size: " . ($_FILES["pictureName"]["size"] / 1024) . " Kb<br />";
            echo 
    "Stored in: " $_FILES["pictureName"]["tmp_name"];
          }
          if(
    "BildHochladen"){
             if(
    $_POST['column'] == "--Neue Rubrik--")
                
    $column $_POST['new_column'];
             else
                
    $column $_POST['column'];
                
             
    $targetPath "../pics/";
             
    $targetPath .= basename($_FILES['pictureName']['name']);
             
             if(
    move_uploaded_file($_FILES['pictureName']['tmp_name'], $targetPath)){
                
    mysql_db_query("thw_jugend" ,"Insert into galerie values ($column$targetPath, '');");
             }else
                echo 
    "There was an error uploading " .$_FILES['pictureName']['name'];
          } 
    Allerdings ist keiner der Werte von $_FILES gesetzt, also weder name noch tmp_name.

    Hier noch mein Formular:
    Code:
    <!--<html>
    <title>CMS</title>
    <body> -->
    <!--- Bildergalerie --->
    <form action="admin_start.php" method="POST" enctype="multipart/form-data">
      <input type="hidden" name="login" value="###login###">
      <input type="hidden" name="psswd" value="###psswd###">
      <input type="hidden" name="MAX_FILE_SIZE" value="100000" />
      <table rules="solid"><tr>
      <td  valign="top">
           Bild f&uuml;r upload w&auml;hlen: <input name="file" type="file" /><br /></td>
      <td></td>
      <td> Rubrik w&auml;hlen: 
                <select name="column" id="Select" onclick="show()">
                   <option>--Neue Rubrik--</option>
                   ###Select###
                </select>
           <input type="submit" value="BildHochladen" name="pictureButton" style="color='red'; "/></td>
           <td><p style="visibility='visible'" id="nr">Neue Rubrik</p>
               <input type="text" name="new_column" style="visibility='visible'" id="nr2">
           </td>
      </tr></table>
      <div>
           Bericht f&uuml;r Upload waehlen: <input name="articleName" type="file" /><br />
           <input type="submit" value="ArtikelHochladen" name="articleButton" style="color='red'">
      </div>
    </form>
    <!--</body>
    </html> -->
    Das ###Select### ist nur ein Platzhalter, da diese Datei wie eine Textdatei eingelesen wir von meinem Script, entsprechende Platzhalter ersetzt werden und das ganze dann ausgegeben wird.

    Könnt ihr mir sagen, wo ich den Fehler gemacht haben?

    Danke im Vorraus,

    Thomas

  • #2
    Was soll bedeutet
    if("BildHochladen"){
    bedeuten?
    Du hast zwei input/file Elemente in dem Forumluar. name="file" und name="articleName"
    Daher kann es nur $_FILES['file'] und $_FILES['
    articleName'] geben, aber kein $_FILES["pictureName"].

    Kommentar


    • #3
      Autsch. Ja, da hatte ich etwas rumexperimentiert. aber selbst mit
      input name="pictureName" hat es nicht gklappt. Das komische war, dass da
      $_FILES['pictureName']['name'] gesetzt war aber tmp_name nicht.

      ich bin echt am Ende mit meinem Latein. Ich verstehe den ganzen Upload sowieso nicht. An welcher Stelle wird die Datei denn auf den Server übertragen? Sobald ich bei dem OpenDialog auf ok klicke, oder wie?

      Brauche echt Hilfe. Danke für deine Antwort erstmal

      Mfg Thomas

      Kommentar


      • #4
        Die Daten werden übertragen, wenn Du das Formular abschickst.
        Schau Dir mal die Ausgabe von
        PHP-Code:
        echo '<pre>'var_dump($_FILES); echo "</pre>\n"
        an.

        Kommentar


        • #5
          Also ich habe jetz hrrausgefunden, woran es liegt:

          Ich hatte die Angabe von MAX_FILE_SIZE nicht beachtet. Die Datei, die ich hochladen wollte wa einfach zu groß. {wallbash}

          Danke für Antworten an alle.

          Mfg

          Kommentar

          Lädt...
          X