Hey,
habe hier ein Upload Script erstellt mit 3 dateien:
testen.html
<html>
<head>
<title>Hier kannst du auf deinen Ftp Server joinen</title>
</head>
<body>
<form action="connectftp.php" method="post">
Hier deine Host-Adresse: <input name="host" type="text">
User: <input name="user" type="text">
Passwort: <input name="pass" type="password">
<input type="submit">
</body>
</html>
connectftp.php
<html>
<?php
sleep(2);
session_start();
$host = $_POST["host"]; // Adresse des FTP-Servers, meistens localhost
$user = $_POST["user"]; // Dein FTP Benutzername
$pass = $_POST["pass"]; // Dein FTP Passwort
if (!isset($_SESSION['host']))
{
$_SESSION['host'] = "$host";
}
if (!isset($_SESSION['user']))
{
$_SESSION['user'] = "$user";
}
if (!isset($_SESSION['name']))
{
$_SESSION['pass'] = "$pass";
}
$connection_id = ftp_connect($host);
$con = ftp_login ($connection_id, $user, $pass) or die ("Keine Verbindung zum FTP-Server möglich");
ftp_close ($con);
echo "Verbindung erfolgreich!"
?>
<head>
<title> FTP Verbindung ist erfolgreich hergestellt!</title>
</head>
<body>
<h2>Sie können nun eine Datei auf den FTP-Server laden.</h2><br>
<body bgcolor="#FFFFFF" text="#000000">
<form action="ftpupload.php" enctype="multipart/form-data" method="post">
Wählen Sie eine Datei (txt, html usw.) von Ihrem Rechner aus:<br>
<input name="lokale_datei" type="file" accept="text/*">
<br>
Verzeichnis auf dem FTP-Server<br>
<input type="text" name="zieldatei"><br>
<input type="submit" name="Abschicken"
value="Abschicken">
</form>
<br>
</body>
</html>
ftpupload.php
<?php
sleep(1);
session_start();
$host = $_SESSION["host"]; // Adresse des FTP- Servers
$user = $_SESSION["user"]; // Ihr FTP Benutzername
$pass = $_SESSION["pass"]; // Ihr FTP Passwort
$lokaledatei = $_POST["lokaledatei"]; // Die hochzuladene Datei
$zieldatei = $_POST["zieldatei"]; // Verzeichnis auf FTP
$connection_id = ftp_connect($host);
$con = ftp_login ($connection_id, $user, $pass) or die ("Keine Verbindung zum FTP-Server möglich");
echo "<P>Verbunden mit FTP-Server als Benutzer $user</P>";
// Hochladen der datei
$upload = ftp_put($connection_id, $zieldatei, $lokaledatei, FTP_BINARY) or die ("FTP Upload war nicht erfolgreich!");
echo "<P>Die Datei $lokaledatei wurde auf $host als $zieldatei geschrieben</P>";
ftp_quit($connection_id);
?>
so wenn ich die logindaten in der testen.html datei reinschreib, führt die connectftp.php den login durch.
so sieht es im ftp aus:
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.27 beta
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> 220-FTP-Connection successfully.
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> 220 Welcome! Visit Willkommen beim -=[TtS]=-|ThE LiMiT iS NoThInG
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> USER Benni
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> 331 Password required for benni
(00002 26.02.2009 22:59:05 - (not logged in) (127.0.0.1)> PASS *******
(00002 26.02.2009 22:59:05 - benni (127.0.0.1)> 230 Logged on
(00002 26.02.2009 22:59:05 - benni (127.0.0.1)> disconnected.
nachdem ich dann eine datei ausgewählt habe, kommt das im lokalen ftp:
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> Connected, sending welcome message...
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> 220-FileZilla Server version 0.9.27 beta
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> 220-FTP-Connection successfully.
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> 220 Welcome! Visit Willkommen beim -=[TtS]=-|ThE LiMiT iS NoThInG
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> USER Benni
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> 331 Password required for benni
(000029) 26.02.2009 22:59:10 - (not logged in) (127.0.0.1)> PASS *******
(000029) 26.02.2009 22:59:10 - benni (127.0.0.1)> 230 Logged on
(000029) 26.02.2009 22:59:10 - benni (127.0.0.1)> disconnected.
er loggt ein, aber führt diesen befehl:
$upload = ftp_put($connection_id, $zieldatei, $lokaledatei, FTP_BINARY) or die ("FTP Upload war nicht erfolgreich!");
nicht aus
wenn ich zum beispiel auf einen ftp zugreife der schon im net íst, führt er bis zur connectftp.php aus und wenn ich dann eine datei auswähle und auf Abschicken klicke, lädt er ne ganze weile und dann kommt Interner Fehler 500 ?
hat jemand ne idee?
liebe grüße