function drupal_ftp_connect in Backup and Migrate 8.2
Same name and namespace in other branches
- 8.3 includes/destinations.ftp.inc \drupal_ftp_connect()
- 6.3 includes/destinations.ftp.inc \drupal_ftp_connect()
- 6.2 includes/destinations.ftp.inc \drupal_ftp_connect()
- 7.3 includes/destinations.ftp.inc \drupal_ftp_connect()
- 7.2 includes/destinations.ftp.inc \drupal_ftp_connect()
The drupal_ftp_connect function This function connects to an FTP server and attempts to change into the directory specified by the fourth parameter, $directory.
6 calls to drupal_ftp_connect()
- drupal_ftp_change_directory in includes/
destinations.ftp.inc - The drupal_ftp_change_directory Function This function simply changes into the $directory folder on the FTP server. If a connection or permission error occurs then _backup_migrate_message() will contain the error message.
- drupal_ftp_create_directory in includes/
destinations.ftp.inc - The drupal_ftp_create_directory Function This function tries to make a new directory called $folder_name on the FTP server. If it can create the folder, then the folder is given appropriate rights with the CHMOD command.
- drupal_ftp_delete_file in includes/
destinations.ftp.inc - The drupal_ftp_delete_file Function This function attempts to delete a file called $filename from the FTP server.
- drupal_ftp_delete_folder in includes/
destinations.ftp.inc - The drupal_ftp_delete_folder Function This function was one of the hardest to write. It recursively deletes all files and folders from a directory called $folder_name.
- drupal_ftp_file_to_ftp in includes/
destinations.ftp.inc - Send a file to an FTP server.
File
- includes/
destinations.ftp.inc, line 131 - Functions to handle the FTP backup destination.
Code
function drupal_ftp_connect(&$ftp) {
if (is_NULL($ftp)) {
$ftp = drupal_ftp_ftp_object();
}
if (empty($ftp->__conn) && !drupal_ftp_connected($ftp)) {
// Attempt to connect to the remote server
$ftp->__conn = @ftp_connect($ftp->__server, $ftp->__port);
if (!$ftp->__conn) {
_backup_migrate_message('FTP Error: Couldn\'t connect to server @server', array(
'@server' => $ftp->__server,
), 'error');
return FALSE;
}
// Attempt to login to the remote server
$ftp->__login = @ftp_login($ftp->__conn, $ftp->__user, $ftp->__password);
if (!$ftp->__login) {
_backup_migrate_message('FTP Error: Couldn\'t login as user @ftp_user to @server', array(
'@ftp_user' => $ftp->__user,
'@server' => $ftp->__server,
), 'error');
return FALSE;
}
// Attempt to change into the working directory
$chdir = @ftp_chdir($ftp->__conn, $ftp->__directory);
if (!$chdir) {
_backup_migrate_message('FTP Error: Couldn\'t change into the @directory directory', array(
'@directory' => $ftp->__directory,
), 'error');
return FALSE;
}
// Set PASV - if needed
if ($ftp->__pasv) {
$pasv = @ftp_pasv($ftp->__conn, TRUE);
if (!$pasv) {
_backup_migrate_message('FTP Error: Couldn\'t set PASV mode', array(), 'error');
return FALSE;
}
}
}
// Everything worked OK, return TRUE
return TRUE;
}