Fayl yuklash — veb dasturlashda eng ko‘p ishlatiladigan amaliyotlardan biridir. Masalan, foydalanuvchi saytga profil rasmi, hujjat yoki audio fayl joylashtirishi mumkin. PHP yordamida bu jarayonni juda sodda qilib bajarish mumkin. Quyida siz PHP’da oddiy fayl yuklash funksiyasini yozishni o‘rganasiz.
1. HTML forma yaratish
Avvalo foydalanuvchidan fayl qabul qiluvchi forma yaratamiz. Buning uchun oddiy HTML kodi quyidagicha yoziladi:
HTML kod:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload">
<button type="submit">Yuklash</button>
</form>
Bu yerda enctype="multipart/form-data" atributi fayl yuborishda majburiy hisoblanadi. Aks holda fayl serverga yetib bormaydi.
2. PHP qismi (upload.php)
Endi PHP yordamida faylni serverga yuklaymiz. Quyidagi kodni “upload.php” fayliga yozamiz:
PHP kodi:
<?php
if (isset($_FILES['fileToUpload'])) {
$target = 'uploads/' . basename($_FILES['fileToUpload']['name']);
move_uploaded_file($_FILES['fileToUpload']['tmp_name'], $target);
echo "Fayl muvaffaqiyatli yuklandi!";
}
?>
Ushbu kod fayl yuborilganini tekshiradi va uni uploads papkasiga saqlaydi. Albatta, “uploads” papkasi avvaldan mavjud bo‘lishi kerak.
3. Xavfsizlikni ta’minlash
Fayl yuklashda xavfsizlik muhim. Quyidagi misolda faqat JPG va PNG formatlariga ruxsat beriladi:
Qo‘shimcha tekshiruv:
$allowed = ['jpg', 'png'];
$ext = strtolower(pathinfo($_FILES['fileToUpload']['name'], PATHINFO_EXTENSION));
if (!in_array($ext, $allowed)) { echo "Bu turdagi faylga ruxsat yo‘q."; exit; }
Bundan tashqari, fayl nomini foydalanuvchi belgilagancha saqlash tavsiya etilmaydi. Uning o‘rniga uni tasodifiy nom bilan saqlash yaxshiroq:
$newname = uniqid() . '.' . $ext;
move_uploaded_file($_FILES['fileToUpload']['tmp_name'], 'uploads/' . $newname);
4. Xulosa
Endi siz PHP’da fayl yuklash funksiyasini yaratishni o‘rgandingiz. Bu usul orqali foydalanuvchi yuklagan faylni serverga saqlash, turini tekshirish va xavfsiz ishlatishni o‘rganish mumkin. Keyingi maqolada ushbu jarayonga fayl hajmini cheklash funksiyasini qo‘shishni ko‘rib chiqamiz.

Комментариев нет