【发布时间】:2014-11-28 14:49:43
【问题描述】:
当我尝试上传超过 10 张图片时,我在 codeigniter 中上传了多张图片,它显示空白屏幕而没有任何错误,但是当我上传 10 张或少于 10 张图片时,相同的代码可以正常工作。我无法找出问题所在,请帮忙。
我还在 php.ini 中设置了以下设置:
upload_max_filesize = 128M
max_file_uploads = 50
这是我的html代码:
<form method="post" role="form" enctype="multipart/form-data" action="<?php echo base_url();?>admin/allbums/add_new">
<input type="file" name="myfile[]" multiple="multiple">
<input type="hidden" name="user_id" value="<?php echo $user_id;?>">
</form>
这是我的控制器中的代码:
public function add_new() {
$config['upload_path']="./uploads/";
$config['allowed_types']='*';
$config['encrypt_name'] = TRUE;
$config['overwrite'] = false;
$this->load->library('upload', $config);
if($this->upload->do_multi_upload("myfile")) {
$file_arr = $this->upload->get_multi_upload_data();
$arr_lenth = count($file_arr);
$user_id = $_POST['user_id'];
for($i=0;$i<=$arr_lenth-1;$i++) {
$data[] = array(
'img_name' => $file_arr[$i]['file_name'],
'size' => $file_arr[$i]['file_size'],
'user_id' => $user_id
);
}
$this->allbum_model->insert_allbum($user_id,$data);
$data['success'] = '<div class="note note-success"> Allbum Added Successfully!</div>';
$data['user_id'] = $user_id;
$this->load->view('admin/allbum', $data);
} else { // else if file not uploaded correctly
echo $this->upload->display_errors();
}
【问题讨论】:
-
你重启了apache吗?您是否在上传处理程序脚本中检查了 phpinfo() 以查看这些设置是否真正生效?请记住,php 设置是在链中应用的。您的设置可能会被稍后的指令覆盖。
-
是的,我重新启动了 apache,提交时仍然显示空白屏幕,还检查了指令是否被覆盖,但事实并非如此。
-
空白屏幕 = 发生了故障。在 php.ini 中打开 display_errors 和 error_reporting,重新启动 apache,然后重试。和/或检查服务器的错误日志。
-
使用
error_reporting(E_ALL)查看您的错误。 -
do_multi_upload是codeigniter函数吗?
标签: php codeigniter file-upload php-ini