upload mit 2 Funktionen

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

  • upload mit 2 Funktionen

    Hy!
    Ich habe folgendes Problem!
    Ich habe ein Formular mit einem Formularfeld vom typ file zum Uploaden von dateien.

    Alle anderen Formfelder sind vom Typ text und tragen nur einen Wert in eine DB. Dieses File feld soll allerdings den Namen der hochzuladenden Datei in ein Db feld namens url eintragen, ander erseits, die Datei an sich in ein Verzeichnis hochladen.

    Verwende ich nur das Formularuploadfile alleine (dh. ein kleines Form, das nur ein formularfeld vom typ file besitzt, funktioniert dies einwandfrei.)

    Verwende ich allerdingd das Form, welches auch sämtliche andere Felder enthält, wird zwar der Pfad in das DB feld url eingetragen, nicht jedoch das file in ein verzeichnis am server kopiert. ich hoffe ich habs verständlich erklärt. ich haenge beide scripte an. (das funktionierende form.php und das nur teilweise funktionierende uploader.php)

    ich hoffe Ihr könnt mir helfen

    mfg
    roland
    Angehängte Dateien

  • #2
    Ich gehe davon aus, daß Du beide Scripte am selben Server laufen das File ins selbe Verzeichnis ablegen (uploads/$datei_name, ansonsten könnte es Troubles mit den Rechten geben.

    Das Form sieht o.k. aus.

    Du printest die Dateiattribute an:
    Code:
    echo "Dateiname: " . $datei_name;
    echo "<br>Temporäre Datei: " . $datei;
    echo "<br>Dateigröße: " . $datei_size;
    echo "<br>Dateityp: " . $datei_type;
    Kommt das noch korrekt, so wie Du es erwartest?

    Wenn nein, kann es sein, daß bei onSubmit="return formvalid()" was Unkontrolliertes passiert?

    Wenn ja, bleibt noch die Funktion
    move_uploaded_file($datei, "uploads/$datei_name");

    Ist dort alles ok? (Ich weiß, auch das ONLY-Upload Script verwendet dieselbe Funktion)

    Filename hat keine Sonderzeichen und Schreibrechte im Verzeichnis sind vorhanden.

    Etwas ist mir aufgefallen:
    Code:
    move_uploaded_file($datei, "uploads/$datei_name");
    if ($submit){
        echo "<a href=uploads/$datei_name>Hier klicken</a>";
    }
    $url=$datei_name;
    echo "<input type='hidden' name='url' value='$datei_name'>";
    Du MOVEst das File außerhalb der Submit-Bedingung. Ist das korrekt? Könnte es sein, daß beim nächsten mal über das File was leeres gemoved wird?

    Kommentar


    • #3
      hy!
      vielen dank für die rasche antwort!

      ich habe nun das prob eroiert.
      unter den geprinteten ausdrücken hab ich einfach copy($datei, "uploads/$datei_name"); eingefügt und schon funktionierts.

      das mit dem hidden field in deiner antwort war nur zu testzwecken ;-)

      vielen dank nochmals

      ciao

      Kommentar

      Lädt...
      X