【问题标题】:Multiple File Upload with CodeIgniter - Offset Error使用 CodeIgniter 上传多个文件 - 偏移错误
【发布时间】:2020-01-04 13:47:04
【问题描述】:

我根本无法使用 PHP Codeigniter 上传多个文件。 它正在上传我选择的第一张图片,但对于其余的,它的结果 有偏移误差。

谁能赐教,我做错了什么?

查看文件:

<form method="POST" action="<?php echo base_url('upload/dosya_yukle'); ?>" enctype="multipart/form-data">

    <input type="file" name="dosya[]" multiple>
    <br><br>
    <button type="submit" name="submit">Yükle</button>
</form>

控制器方法:


    public function dosya_yukle () {

        $count = count($_FILES['dosya']['name']);

        for ($i=0; $i < $count; $i++) { 

            $_FILES['dosya']['name'] = $_FILES['dosya']['name'][$i];
            $_FILES['dosya']['type'] = $_FILES['dosya']['type'][$i];
            $_FILES['dosya']['tmp_name'] = $_FILES['dosya']['tmp_name'][$i];
            $_FILES['dosya']['error'] = $_FILES['dosya']['error'][$i];
            $_FILES['dosya']['size'] = $_FILES['dosya']['size'][$i];

            $config['upload_path'] = './assets/img';
            $config['allowed_types'] =  'gif|jpg|png';

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

            $this->upload->do_upload('dosya');

        }
    }

我得到的错误:

严重性:通知

消息:未初始化的字符串偏移量:2

文件名:控制器/Upload.php

行号:54

回溯:

文件:C:\wamp64\www\ajquery\application\controllers\Upload.php 行: 54 函数:_error_handler

文件:C:\wamp64\www\ajquery\index.php 行:315 功能:require_once

【问题讨论】:

    标签: php codeigniter multiple-file-upload


    【解决方案1】:

    如下更新控制器..

    public function dosya_yukle () {
    
            $count = count($_FILES['dosya']['name']);
            $files = $_FILES;
            unset($_FILES);
            for ($i=0; $i < $count; $i++) { 
    
                $_FILES['dosya']['name'] = $files['dosya']['name'][$i];
                $_FILES['dosya']['type'] = $files['dosya']['type'][$i];
                $_FILES['dosya']['tmp_name'] = $files['dosya']['tmp_name'][$i];
                $_FILES['dosya']['error'] = $files['dosya']['error'][$i];
                $_FILES['dosya']['size'] = $files['dosya']['size'][$i];
    
                $config['upload_path'] = './assets/img';
                $config['allowed_types'] =  'gif|jpg|png';
    
                $this->load->library('upload', $config);
    
                $this->upload->do_upload('dosya');
    
            }
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-08-16
      • 2015-01-07
      • 1970-01-01
      • 1970-01-01
      • 2015-04-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多