Fehler beim aufrufen einer Funktion

tfb
Hallo.

Habe mir gerade ein Script zum Upload via FTP gebastelt.
Das ganze funktioniert auch.

Wenn ich das ganze auslagere in eine externe Datei, welche alle Funktionen beinhaltet bekomme ich beim aufrufen folgende Fehlermeldungen:

ftp_login() expects parameter 1 to be resource, boolean
ftp_chdir() expects parameter 1 to be resource, boolean
ftp_put() expects parameter 1 to be resource, boolean
ftp_quit() expects parameter 1 to be resource, boolean


Kann mir jemand weiterhelfen?

Aufruf der Funktion:

ftp2($quelle, $ziel);



Eigentliche Funktion:

function ftp2($quelle, $ziel)
{
$conn_id = ftp_connect("$ftp_server");
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
if ((!$conn_id) || (!$login_result))
{
echo "Es konnte keine Verbindung zum Server hergestellt werden.<br>";
}
else
{
echo "Verbunden mit $ftp_server als Benutzer $ftp_user_name.<br>";
}
ftp_chdir($conn_id,"data");
$upload = ftp_put($conn_id, $ziel, $quelle, FTP_BINARY);
if (!$upload)
{
echo "FTP-Upload war fehlerhaft!";
}
else
{
echo "Datei $source_file auf $ftp_server als $ziel geschrieben.";
}
ftp_quit($conn_id);
}
survivor
tja, sieht so aus, als würde die variable $conn_id leer sein (bzw. was ungültiges drin stehen).
neonator
hey

also erstens:
ftp_connect("$ftp_server");
das ist schwachsinn!
ftp_connect($ftp_server);
so wennschon..
sonst köntest du auch
ftp_connect($ftp_server."".""."".""."".""."".""."".""."".""."".""."");
schreiben, oder so ähnlich.. so nach dem motto "wieso einfach, wenns kompliziert auch geht?"

so.. dann:
anscheinend sind die variabeln $ftp_server, $ftp_user_name, $ftp_user_pass nicht vorhanden sind.
möglichkeiten:
- diese variabeln IN der funktion definieren (z.t. nicht sinvoll)
- diese variabeln übergeben ftp2($quelle,$ziel,$ftp_server, $ftp_user_name, $ftp_user_pass)
- die variabeln globalisieren:
global $ftp_server, $ftp_user_name, $ftp_user_pass;

vielleicht hilft dir das smile
gruss
jone