note 109124 deleted from function.ftp-login by googleguy

From: Date: Tue, 22 Oct 2013 12:17:31 +0000
Subject: note 109124 deleted from function.ftp-login by googleguy
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-197147@lists.php.net to get a copy of this message
Note Submitter: Patrick Otto ---- <?php # This function fix problems with ftp login validation function connect_send_ftp($ftp_server, $ftp_user_name, $ftp_user_pass, $remote_name, $local_name) { // valid host connection if (!ftp_connect($ftp_server)) return false; $conn_id = ftp_connect($ftp_server); // valid ftp login params, fast check if(empty($ftp_user_name) or empty($ftp_user_pass)) return false; // using curl to valid login, fast check $curl = curl_init(); curl_setopt($curl, CURLOPT_URL,'ftp://'.preg_replace('/^ftp[:]\/\//i','',$ftp_server)); curl_setopt($curl, CURLOPT_FTPLISTONLY, 1); curl_setopt($curl, CURLOPT_USERPWD, $ftp_user_name.":".$ftp_user_pass); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $valid_login = curl_exec ($curl); // valid ftp login, primary if(!$valid_login) return false; // valid ftp login, secondary if(!ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)) return false; // passive result $passive_result = ftp_pasv($conn_id, true); // save file send erros $error = ftp_put($conn_id, $remote_name, $local_name, FTP_ASCII); // close connection ftp_close($conn_id); // return success or send erros return $error; } // set params $ftp_server = "ftp.example.com" $ftp_user_name = "user"; $ftp_user_pass = "password"; $remote_name = "my_remote_file_dir"; $local_name = "my_local_file_dir"; // call the function $conn = connect_send_ftp($ftp_server, $ftp_user_name, $ftp_user_pass, $remote_name, $local_name); // valid response if(!$conn) die("FTP login failed..") // if not erros, success echo "FTP login and file sended sucessfull!" ?>

« previous php.notes (#197147) next »