What are some best practices for securely transferring files between servers using PHP and FTP functions?

When transferring files between servers using PHP and FTP functions, it is important to ensure that the process is secure to prevent unauthorized access. One best practice is to use secure FTP protocols such as SFTP or FTPS to encrypt the data during transfer. Additionally, always validate user input to prevent any potential security vulnerabilities.

// Connect to the FTP server using FTPS
$ftp_server = 'ftp.example.com';
$ftp_user = 'username';
$ftp_pass = 'password';
$conn_id = ftp_ssl_connect($ftp_server);

// Login to the FTP server
$login = ftp_login($conn_id, $ftp_user, $ftp_pass);

// Check if the connection is successful
if (!$conn_id || !$login) {
    die('FTP connection failed');
}

// Transfer file securely
$file_to_transfer = 'file.txt';
$remote_file_path = '/remote/path/file.txt';
if (ftp_put($conn_id, $remote_file_path, $file_to_transfer, FTP_BINARY)) {
    echo "File transfer successful";
} else {
    echo "File transfer failed";
}

// Close the FTP connection
ftp_close($conn_id);