Entry
Are there any issues with using php's ftp functions from within a firewall? It seems that the connection consistently times out in this environemnt.
Feb 23rd, 2001 02:12
Onno Benschop, Colby Meyer, http://www.php.net/manual/en/function.ftp-pasv.php
To connect to an FTP server from within a firewall you can use passive-
mode ftp. Basically, open the conneciton, turn passive-ftp on, do your
stuff.
The php sample becomes:
<?php
// set up basic connection
$conn_id = ftp_connect("$ftp_server");
// login with username and password
$login_result = ftp_login
($conn_id, "$ftp_user_name", "$ftp_user_pass");
// check connection
if ((!$conn_id) || (!$login_result)) {
echo "Ftp connection has failed!";
echo "Attempted to connect to $ftp_server for user $user";
die;
} else {
echo "Connected to $ftp_server, for user $user";
}
// turn on passive mode transfers
ftp_pasv ($conn_id, true) ;
// upload the file
$upload = ftp_put($conn_id, "$destination_file", "$source_file",
FTP_BINARY);
// check upload status
if (!$upload) {
echo "Ftp upload has failed!";
} else {
echo "Uploaded $source_file to $ftp_server as
$destination_file";
}
// close the FTP stream
ftp_quit($conn_id);
?>