بارگزاری فایل (File Uploading) در کد ایگنایتر

Share on facebook
Share on google
Share on twitter
Share on linkedin

بارگزاری فایل (File Uploading) در کد ایگنایتر

بارگزاری فایل (File Uploading) در کد ایگنایتر شامل روند کلی زیر است:

  1. یک فرم جهت انتخاب فایل .
  2. مشخص کردن جای ذخیره فایل .
  3. اعتبار سنجی فایل در راه .
  4. آپلود شدن و نشان دادن پیغام موفقیت .

ما طبق یک مثال کاربردی این چهار مورد را به صورت کامل شرح می دهیم .

توجه : بهتر است برای این کار , کار با فرمها را در کد ایگنایتر کار کرده باشید .

فرم نمایش بارگزاری فایل (File Uploading) در کد ایگنایتر

با استفاده از ویرایشگرتان در آدرس application/views/  یک فایل متنی به نام upload_form.php بسازید .

<html>
<head>
<title>Upload Form</title>
</head>
<body>

<?php echo $error;?>

<?php echo form_open_multipart('upload/do_upload');?>

<input type="file" name="userfile" size="20" />

<br /><br />

<input type="submit" value="upload" />

</form>

</body>
</html>

 

 

ساخت صفحه پیغام موفقیت در بارگزاری فایل (File Uploading) در کد ایگنایتر

با استفاده از ویرایشگرتان در آدرس application/views/  یک فایل متنی به نام upload_success.php بسازید .

<html>
<head>
<title>Upload Form</title>
</head>
<body>

<h3>Your file was successfully uploaded!</h3>

<ul>
<?php foreach ($upload_data as $item => $value):?>
<li><?php echo $item;?>: <?php echo $value;?></li>
<?php endforeach; ?>
</ul>

<p><?php echo anchor('upload', 'Upload Another File!'); ?></p>

</body>
</html>

 

 

ساخت کنترلر در بارگزاری فایل (File Uploading) در کد ایگنایتر

با استفاده از ویرایشگرتان در آدرس application/controllers/ یک فایل متنی به نام Upload.php بسازید .

<?php

class Upload extends CI_Controller {

        public function __construct()
        {
                parent::__construct();
                $this->load->helper(array('form', 'url'));
        }

        public function index()
        {
                $this->load->view('upload_form', array('error' => ' ' ));
        }

        public function do_upload()
        {
                $config['upload_path']          = './uploads/';
                $config['allowed_types']        = 'gif|jpg|png';
                $config['max_size']             = 100;
                $config['max_width']            = 1024;
                $config['max_height']           = 768;

                $this->load->library('upload', $config);

                if ( ! $this->upload->do_upload('userfile'))
                {
                        $error = array('error' => $this->upload->display_errors());

                        $this->load->view('upload_form', $error);
                }
                else
                {
                        $data = array('upload_data' => $this->upload->data());

                        $this->load->view('upload_success', $data);
                }
        }
}
?>

 

شرح کنترلر

در ابتدای فایل کنترلر کتابخانه های form و url را در سازنده کلاس بارگزاری می نماییم بنا براین در ادامه نیازی برای صدا زدن آنها نمی باشد.

پیشنهاد پیرو برای شما :   geolocation درhtml

در ادامه در تابع index  صفحه upload_form را بارگزاری می نماییم .

در تابع do_upload  اقدامات زیر را انجام می دهیم :

  1. ابتدا با استفاده از آرایه $config  کتابخانه آپلود را مقدار دهی می نماییم .(در ادامه تمامی تنظیمات جهت مقدار دهی کتابخانه را شرح می دهیم)
  2. کتابخانه را با استفاده از تنظیمات مشخص شده صدا می زنیم
  3. در شرطمان (if) فایل را بارگزاری می نماییم ودر صورت موفق بودن کاربر را به صفحه بارگزاری موفق به فایل (upload_success )هدایت می نماییم .و در صورتی که موفقیت آمیز نبود خطا را دریافت و به فایل فرم بارگزاری ارسال می کنیم .

پوشه بارگزاری فایل

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

 

اجرا

کافی است آدرس زیر را در مرورگرتان فرا خوانی نمایید .

example.com/index.php/upload/

 

 

تنظیمات جهت بارگزاری فایل در کد ایگنایتر

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

 

نام تنظیممقدار پیش فرضمقدار هاتوضیح
upload_pathNoneNoneمکان بارگزاری فایل
allowed_typesNoneNoneپسوندهای مجاز جهت بار گزاری فایل
file_nameNoneDesired file nameنام فایل
file_ext_tolowerFALSETRUE/FALSE (boolean)در صورت درست بودن نام فایل به حروف کوچک می شود
overwriteFALSETRUE/FALSE (boolean)در صورت درست بودن در صورتی که فایل وجود داشته باشد فایل جایگزین می شود
max_size۰Noneحداکثر حجم جهت بار گزاری فایل به صورت پیش فرض از تنظیمات پی اچ پی شما می گیرد که به ۲ مگابایت می باشد
max_width۰Noneحداکثر عرض در صورتی که صفر تنظیم شود اندازه نامحدود می شود
max_height۰Noneحداکثر طول در صورتی که صفر تنظیم شود اندازه نامحدود می شود
min_width۰Noneحداقل عرض در صورتی که صفر تنظیم شود اندازه نامحدود می شود
min_height۰Noneحداقل طول در صورتی که صفر تنظیم شود اندازه نامحدود می شود
max_filename۰Noneحداکثر طول نام فایل در صورتی که صفر تنظیم شود اندازه نامحدود می شود
max_filename_increment۱۰۰Noneهنگامی که overwrite تنظیم شده باشد false در صورتی که تکراری باشد فایل هم ه اندازه این گزینه بزرگتر باشد جایگزین می نماید
encrypt_nameFALSETRUE/FALSE (boolean)در صورتی که درست باشد نام فایل را به صورت کد می کند و این گزینه خیلی موثر و بدرد بخور است
remove_spacesTRUETRUE/FALSE (boolean)در صورت درست فضاهای خالی در نام فایل به _ تبدیل می شود.
detect_mimeTRUETRUE/FALSE (boolean)در صورت درست بودن سرور چک می کند که فایل خطرناک نباشد
پیشنهاد پیرو برای شما :   نحوه غیر فعال سازی تولبار بالا در ورد پرس بعد از ورود

 

 

در ادامه …

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

 

 

 

مدیر پیرو

مدیر پیرو

نظرتان را بیان نمایید

عضویت در خبر نامه