امروز:دوشنبه ,۱۳۹۷/۱۱/۲۹
Download http://bigtheme.net/joomla Free Templates Joomla! 3
Home / Yii2 / آپلود چندین فایل در Yii2

آپلود چندین فایل در Yii2

برای آپلود چندین فایل مثل آپلود فایل تکی اقداماتمونو انجام می دیم. البته با مختصری تغییرات

ابتدا در فورم امکان آپلود تصویر را فراهم میکنیم:

$form = ActiveForm::begin(
['options' => ['enctype' => 'multipart/form-data']
]);
$form->field($model, 'gallery_id[]')->fileInput(['multiple' => true, 'accept' => 'image/*'])
Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'),
 ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']
)
 ActiveForm::end();

با استفاده از کد بالا امکان آپلود چندین تصویر را فراهم کردیم.

در مدل نیز باید تنظیمات مربوطه را مشخص کنیم.
در قسمت

  public function rules() {
        return [    
        ];
    }
[['gallery_id'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4],

همونطور که مشخصه می توانیم نوع فایلی که اجازه ارسال دارد را مشخص کنیم.
علاوه بر آن می توانیم حداکثر تعداد فایل و اجباری بودن یا نبودن را مشخص کنیم

در قسمت نهایی فایل های ارسالی را در محل مورد نظر ذخیره و در دیتا بیس ذخیره میکنیم

$MultiFile = UploadedFile::getInstances($model, 'gallery_id');
  foreach ($MultiFile as $key => $img) {
   $rnd = rand(1000000, 9999999);
  $time = time();
 $filename = "{$time}{$rnd}." . pathinfo($img->name, PATHINFO_EXTENSION);  
  $img->saveAs(Yii::$app->params['path']['gallery_upload'] . $filename);                                   

Check Also

سایت چند زبانه با فریم ورک yii

سایت چند زبانه با فریم ورک yii مطلب که در این بخش قصد آموزش داریم …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *