Dateiupload per FTP
Raffi
- php
Hallo Leute
Sitze jetzt schon seit stunden an einem Problem...habe mich auch schon bei php.net informiert - komme jedoch zu keiner Lösung:
Ich möchte ganz einfach eine Datei von der Festplatte auf den Server laden. Der Dateiname auf dem Server soll gleich sein, wie er auf der Festplatte (lokal) war. Und genau hier liegt mein Problem. Es geht einfach nicht - keine Fehlermeldung und nix! Sobald ich den Destination Name manuell eingebe gehts!
Hier das Formular:
<form enctype="multipart/form-data" action="admin_save.php" method="post">
<input name="userfile" type="file" size="18">
<input type="submit" name="Submit" value="Daten speichern...">
Hier der Upload-Script
$ftp_server = "server";
$ftp_user_name = "user";
$ftp_user_pass = "pw";
$destination_file = $_FILES[userfile][name]; => Hab ich bei PHP.net gelsen.
$source_file = $datei;
$up_verz = "/public_html/new/upload";
// Herstellen der Basis-Verbindung
$conn_id = ftp_connect($ftp_server);
// Einloggen mit Benutzername und Kennwort
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Verbindung überprüfen
if ((!$conn_id) || (!$login_result)) {
echo "Ftp-Verbindung nicht hergestellt!";
echo "Verbindung mit $ftp_server als Benutzer $user nicht möglich";
die;
} else {
echo "Verbunden mit $ftp_server als Benutzer $user";
}
// Upload der Datei
ftp_chdir($conn_id, $up_verz) ;
ftp_put ($conn_id, $destination_file, $source_file, FTP_ASCII);
// Schließen des FTP-Streams
ftp_quit($conn_id);
Danke und Gruss
Raffi
Hallo Leute
Hi
hast du schonmal probiert
von:
$destination_file = $_FILES[userfile][name];
auf:
$destination_file = $_FILES['userfile']['name'];
Gruß Christoph
Hab ich versucht...geht leider auch nicht...
Gruss Raffi
Hi,
was steht denn nach der Zuweisung in $destination_file drin?
$destination_file = $_FILES['userfile']['name']
vielleicht ist deine php-version zu alt, wie wäre es mit $HTTP_POST_FILES['userfile']['name']
ciao
romy
Hi,
Hello
müsste so heissen:
$destination_file=$userfile_name;
$source_file = $userfile;
vielleicht ist deine php-version zu alt, wie wäre es mit
das könnte auch sein :(
ciao
romy
LG Christoph
Hab ich auch schon probiert...die Variable ist einfach leer :-(
Aber warum?
Gruss
Raffi
Hi,
Hab ich auch schon probiert...die Variable ist einfach leer :-(
ja und? Ist es jetzt vielleicht die alte php-version?
ciao
romy
Vielleicht falsch verstanden:
$zieldatei = $_FILES['userfile']['name'];
$lokale_datei = $_FILES['userfile'];
$upload = ftp_put ($conn_id, "$zieldatei", "$lokale_datei", FTP_ASCII);
Gruß Christoph
Hi!
Was machst Du da mit FTP? Das brauchst Du nicht. Auf die hochgeladenen Datei hast Du direkt mit PHP Zugriff, Du kannst Sie mit move_uploaded_file() dahin kopieren wo sie hin soll. Am besten liest Du mal folgendes:
http://php-faq.de/q/q-formular-upload-php4.html
http://www.php3.de/manual/de/features.file-upload.php
und probiere die Beispiele aus(!)
Grüße
Andreas