Hallo!
Ich habe eine Frage bezgl. eines komplizierten Uploads von Dateien.
Im Rahmen eines selbstgeschriebenen CMS möchte
ich den Benutzern ermöglichen, Dateien von ihrer lokalen Festplatte auf den Webserver upzuloaden und diese dann ggf.
auszulesen (mit einer Internetseite bspw.)
Dieses Formular ist so gestrickt, dass die Buttons „Durchsuchen“ und „Submit“ (oder was da immer stehen mag) auf
spanisch geschrieben sind.
Dies lässt sich meines Erachtens nur mittels JS realisieren, bei der ein unsichtbarer Button darübergelegt wird und
dieser den Namen „buscar“ (für durchsuchen) bekommt.
Das Ganze wird vielleicht ein wenig klarer, wenn ich den Code mitposte (s.u.)
Nun wird die ausgewählte Datei an ein PHP-Skript übergeben,
welches dann einige Dinge mit dem Dateinamen macht (streichen des Pfades,
so dass nur noch der Dateiname übrig bleibt = in die Datenbank
soll nur der Name der Datei, nicht der komplette Pfad).
Ist dies erledigt, so soll die Datei upgeloadet werden.
Ich dachte, dass das immer mittels FTP möglich ist, aber das scheint
nicht so, jedenfalls hat meine tagelange Recherche im Internet
nichts brauchbares übergeben, bzw. die Skripte funktionieren
nicht
Nun direkt die Frage. Sind beide(!) Skripte so in Ordnung? Wieso funktioniert das Skript nicht?
Ich danke euch schon mal für die Mühen…hier die Codes der beiden Dateien:
[color="red"]form.htm[/color]
[color="red"]upload.php[/color]
Ich hoffe, Ihr könnt mir da helfen, da ich echt nicht weiter weiß
Ich habe eine Frage bezgl. eines komplizierten Uploads von Dateien.
Im Rahmen eines selbstgeschriebenen CMS möchte
ich den Benutzern ermöglichen, Dateien von ihrer lokalen Festplatte auf den Webserver upzuloaden und diese dann ggf.
auszulesen (mit einer Internetseite bspw.)
Dieses Formular ist so gestrickt, dass die Buttons „Durchsuchen“ und „Submit“ (oder was da immer stehen mag) auf
spanisch geschrieben sind.
Dies lässt sich meines Erachtens nur mittels JS realisieren, bei der ein unsichtbarer Button darübergelegt wird und
dieser den Namen „buscar“ (für durchsuchen) bekommt.
Das Ganze wird vielleicht ein wenig klarer, wenn ich den Code mitposte (s.u.)
Nun wird die ausgewählte Datei an ein PHP-Skript übergeben,
welches dann einige Dinge mit dem Dateinamen macht (streichen des Pfades,
so dass nur noch der Dateiname übrig bleibt = in die Datenbank
soll nur der Name der Datei, nicht der komplette Pfad).
Ist dies erledigt, so soll die Datei upgeloadet werden.
Ich dachte, dass das immer mittels FTP möglich ist, aber das scheint
nicht so, jedenfalls hat meine tagelange Recherche im Internet
nichts brauchbares übergeben, bzw. die Skripte funktionieren
nicht
Nun direkt die Frage. Sind beide(!) Skripte so in Ordnung? Wieso funktioniert das Skript nicht?
Ich danke euch schon mal für die Mühen…hier die Codes der beiden Dateien:
[color="red"]form.htm[/color]
Code:
<html> <head> <title>Formular</title> <script type="text/javascript"> function go1() { document.a.b.click(); <!--"a" ist der form-tag Identifizierer "id" - muss für alle <!-- Funktionen gleich sein, da nur ein Formular existiert--> document.a.c.value = document.a.b.value; <!--"a" dient für den Durchsuchen-Button selbst - <!-- dessen Information wird an das Textfeld namens "c" übergeben <!-- zur Ansicht des Pfades--> } </script> </head> <body> <table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%"> <tr> <td valign="middle" align="center"> <form method="post" action="upload.php" id="a" name="a" enctype="multipart/form-data"> <input type="file" id="b" style="display:none"> <!--FUNKTION DIE DEN EXPLORER AUFRUFT--> <input id="c" name="datei"> <!--TEXTFELD INDEM DER PFAD ANGEZEIGT WIRD--> <input type="button" onclick="go1();" value="DATEI"> <input type="submit" value="UPLOAD"> </form> </td> </tr> </table> </body> </html>
[color="red"]upload.php[/color]
PHP-Code:
<?php
$suchedatei = strrpos($_POST["datei"],"\\");
$suchedatei += '1';
$uploadgrafik = substr($_POST["datei"],$suchedatei);
// Einloggen mit Benutzername und Kennwort
$conn_id = ftp_connect("ftp.domain.de");
$login_result = ftp_login($conn_id, "usr", "pass");
ftp_pasv($conn_id, TRUE);
//int ftp_put ( int ftp_stream, string remote_file, string local_file, int mode)
ftp_chdir($conn_id, "/datei");
ftp_put($conn_id, "$uploadgrafik", $_POST["datei"], FTP_BINARY);
ftp_quit($conn_id);
echo "der string im textfeld: ".$_POST["datei"];
echo "<br>suchposition wo letztes\: ".($suchedatei-1);
echo "<br>suchposition wo dateiname beginnt: ".$suchedatei;
echo "<br>uploadgrafik: ".$uploadgrafik;
?>
Kommentar