使用 CodeIgniter 上传多个文件 - 偏移错误
Multiple File Upload with CodeIgniter - Offset Error
我根本无法使用 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');
}
}
错误我得到:
Severity: Notice
Message: Uninitialized string offset: 2
Filename: controllers/Upload.php
Line Number: 54
Backtrace:
File: C:\wamp64\www\ajquery\application\controllers\Upload.php Line:
54 Function: _error_handler
File: C:\wamp64\www\ajquery\index.php Line: 315 Function: require_once
更新控制器如下..
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');
}
}
我根本无法使用 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');
}
}
错误我得到:
Severity: Notice
Message: Uninitialized string offset: 2
Filename: controllers/Upload.php
Line Number: 54
Backtrace:
File: C:\wamp64\www\ajquery\application\controllers\Upload.php Line: 54 Function: _error_handler
File: C:\wamp64\www\ajquery\index.php Line: 315 Function: require_once
更新控制器如下..
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');
}
}