PHP vasitəsilə istifadəçilərə şəkil və digər faylları serverə yükləmək imkanı yaratmaq mümkündür.
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
if (!isset($_FILES['image'])) {
exit('File not found');
}
$file = $_FILES['image'];
$allowed = [
'image/jpeg',
'image/png',
'image/webp'
];
$mime = mime_content_type($file['tmp_name']);
if (!in_array($mime, $allowed, true)) {
exit('Invalid file type');
}
if ($file['size'] > 2 * 1024 * 1024) {
exit('Maximum file size is 2MB');
}
$extension = match ($mime) {
'image/jpeg' => 'jpg',
'image/png' => 'png',
'image/webp' => 'webp'
};
$filename = bin2hex(random_bytes(16)) . '.' . $extension;
$directory = __DIR__ . '/uploads/';
if (!is_dir($directory)) {
mkdir($directory, 0755, true);
}
if (move_uploaded_file(
$file['tmp_name'],
$directory . $filename
)) {
echo 'Upload successful';
}
}
Real layihədə əlavə olaraq fayl ölçüsü, şəkil məzmunu, server qovluğunun icazələri və CSRF müdafiəsi yoxlanılmalıdır.