What are the potential pitfalls of using the FTP protocol for file uploads in PHP?

One potential pitfall of using the FTP protocol for file uploads in PHP is that the credentials used to connect to the FTP server are transmitted in plain text, making them susceptible to interception. To solve this issue, it is recommended to use FTPS (FTP Secure) or SFTP (SSH File Transfer Protocol) for secure file transfers.

// Example of using FTPS for secure file uploads
$ftp_server = 'ftp.example.com';
$ftp_user = 'username';
$ftp_pass = 'password';
$ftp_connection = ftp_ssl_connect($ftp_server);
$login_result = ftp_login($ftp_connection, $ftp_user, $ftp_pass);

if (!$ftp_connection || !$login_result) {
    die('FTP connection failed');
}

// Upload file
$file_path = '/path/to/local/file.txt';
$remote_file = '/path/to/remote/file.txt';
if (ftp_put($ftp_connection, $remote_file, $file_path, FTP_BINARY)) {
    echo 'File uploaded successfully';
} else {
    echo 'Failed to upload file';
}

// Close FTP connection
ftp_close($ftp_connection);