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

  • luigied
    hat ein Thema erstellt Datei-Upload unverständlich.

    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

  • luigied
    antwortet
    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

    Einen Kommentar schreiben:


  • David
    antwortet
    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.

    Einen Kommentar schreiben:


  • luigied
    antwortet
    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

    Einen Kommentar schreiben:


  • David
    antwortet
    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"].

    Einen Kommentar schreiben:

Lädt...
X