What are common mistakes to avoid when uploading files using PHP, especially when using FTP?

Common mistakes to avoid when uploading files using PHP, especially when using FTP, include not checking for file size limits, not validating file types, and not handling errors properly. To avoid these mistakes, always check the file size before uploading, validate the file type to ensure it is allowed, and handle any errors that may occur during the upload process.

// Check file size limit
$maxFileSize = 10 * 1024 * 1024; // 10MB
if ($_FILES['file']['size'] > $maxFileSize) {
    die('File size exceeds limit');
}

// Validate file type
$allowedFileTypes = ['jpg', 'png', 'gif'];
$uploadedFileType = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
if (!in_array($uploadedFileType, $allowedFileTypes)) {
    die('Invalid file type');
}

// Handle file upload errors
if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
    die('File upload failed');
}

// Upload file using FTP
$ftpServer = 'ftp.example.com';
$ftpUsername = 'username';
$ftpPassword = 'password';
$localFile = $_FILES['file']['tmp_name'];
$remoteFile = '/path/to/remote/file.jpg';

$ftpConn = ftp_connect($ftpServer);
ftp_login($ftpConn, $ftpUsername, $ftpPassword);
ftp_put($ftpConn, $remoteFile, $localFile, FTP_BINARY);
ftp_close($ftpConn);