What are common issues when using ftp_put to duplicate files on a server in PHP?

Common issues when using ftp_put to duplicate files on a server in PHP include permissions errors, file already exists errors, and connection timeouts. To solve these issues, ensure that the destination directory has the correct permissions, check if the file already exists before attempting to upload it, and handle any connection timeouts gracefully.

// Connect to FTP server
$ftp_server = "ftp.example.com";
$ftp_username = "username";
$ftp_password = "password";
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_username, $ftp_password);

// Check if connection is successful
if ((!$conn_id) || (!$login_result)) {
    die("FTP connection failed");
}

// Check if file already exists
$remote_file = "destination/file.txt";
if (ftp_size($conn_id, $remote_file) != -1) {
    die("File already exists on server");
}

// Set permissions for destination directory
ftp_chmod($conn_id, 0777, "destination");

// Upload file to server
$local_file = "source/file.txt";
if (ftp_put($conn_id, $remote_file, $local_file, FTP_BINARY)) {
    echo "File uploaded successfully";
} else {
    echo "Error uploading file";
}

// Close FTP connection
ftp_close($conn_id);