داغ ترین ویدیو بابلز لرن : هک کلاس های مجازی توسط متین برونسی

ویژگی تصویر

آپلود فایل در PHP

  /  PHP   /  آپلود فایل در PHP
بنر تبلیغاتی الف
آموزش PHP

در این بخش به بررسی نحوه آپلود فایل در PHP می پردازیم.

بارگذاری فایل در PHP بسیار راحت و ساده هست ، اما با این حال باید اعتبار سنجی های لازم را برروی فایل های آپلود شده انجام بدهید تا دچار مشکلات فنی و امنیتی نشوید.

پیکربندی فایل php.ini

ابتدا مطمئن شوید که PHP به گونه ای پیکربندی شده است که آپلود فایل در آن مجاز است.

در فایل php.ini دستور file_uploads را جستجو کنید و آن را روی On قرار دهید:

file_uploads = On

ایجاد فرم HTML

در این مرحله باید یک فرم HTML ایجاد کنیم تا کاربر بتواند فایل تصویر خود را بارگذاری کند.

تماشا در حالت تمام صفحه

دقت داشته باشید که موارد ذکر شده در اینجا باید روی تگ فرم اعمال شده باشد:

  • method="post" حتماً مقدار خاصیت method از نوع POST باشد.
  • enctype="multipart/form-data" خاصیت enctype از نوع multipart/form-data باشد.

بدون اعمال تنظیمات بالا در تگ form ، امکان آپلود فایل وجود ندارد.

برای انتخاب فایل ما از تگ input سپس از نوع file استفاده کرده ایم.

<input type="file" name="fileToUpload" id="fileToUpload">

همچنین خاصیت action برابر upload.php می باشد ، به این معنی هست که داده های ما سمت این اسکریپت باید ارسال شود.

ایجاد فایل آپلود در PHP

اکنون باید کد نویسی سمت سرور را انجام بدهیم که وظیفه آن پردازش داده های ارسالی از سمت کاربر می باشد.

کد های فایل upload.php

تماشا در حالت تمام صفحه

توضیحات مربوط به کد های PHP بالا:

  • متغیر $target_dir آدرس مسیری که قرار است فایل در آن قرار بگیرد را مشخص می کند.
  • متغیر $target_file مسیری که فایل باید در آن آپلود بشود را مشخص می کند.
  • از متغیر $uploadOk هنوز استفاده نشده است ، در ادامه به آن میرسیم.
  • متغیر $imageFileType پسوند فایل را نگهداری می کند. (باید با حروف کوچک باشد)
  • در مرحله بعد بررسی می کنیم که آیا فایل یک تصویر واقعی هست یا خیر.

توجه: شما باید یک دایرکتوری جدید با نام “uploads” در دایرکتوری که فایل “upload.php” در آن قرار دارد ایجاد کنید. فایل های آپلود شده در آنجا ذخیره می شوند.

اگر فایل وجود داشت

اکنون می توانیم برای حفظ امنیت پروژه ، محدودیت هایی را اضافه کنیم.

ابتدا بررسی می کنیم که آیا فایل در پوشه uploads وجود دارد یا خیر. اگر فایل از قبل آپلود شده باشد و وجود داشته باشد یک پیغام خطا نمایش داده می شود و مقدار $uploadOk روی 0 تنظیم می شود:

// Check if file already exists
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}

محدود کردن اندازه فایل

نام فیلد ورودی فایل ما در فرمی که ایجاد کردیم fileToUpload نام دارد.

اکنون می خواهیم حجم فایل را بررسی کنیم ، اگر فایل بزرگتر از 500 کیلوبایت باشد یک پیغام خطا نمایش داده می شود و مقدار متغیر $uploadOk روی 0 تنظیم می شود:

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}

محدود کردن نوع فایل

در اینجا به کاربر فقط اجازه می دهیم تا فایل های از نوع: PNG , JPG , JPEG و GIF را آپلود کند. هر فایل دیگری که کاربر بخواهد آپلود کند یک پیغام خطا نمایش داده خواهد شد و مقدار $uploadOk روی 0 تنظیم می شود:

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}

تکمیل اسکریپت آپلود فایل در PHP

و در آخر فایل upload.php ما آماده هست و میتوانیم از آن برای آپلود فایل در PHP استفاده کنیم:


این قسمت/بخشی از محتوا مخفی شده است و فقط برای اعضای وب سایت قابل مشاهده می باشد، لطفاً با حساب کاربری وارد شوید.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
بنر تبلیغاتی ج