我有这个代码:
$this->load->library('form_validation');$this->form_validation->set_rules($this->credit_rules);
$this->load->model('profile_m');
$this->load->model('order_m');
$config['upload_path'] = './uploads/user/';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2048';
$config['max_width'] = '2650';
$config['max_height'] = '2270';
$config['overwrite'] = FALSE;
$config['encrypt_name'] = FALSE;
$this->load->library('upload',$config);
if ( ! $this->upload->do_upload('ktp') )
{
$this->data->error = $this->upload->display_errors();
// $this->load->view('upload_form', $error);
}
else
{
$data = array('upload_ktp' => $this->upload->data());
// $this->load->view('upload_success', $data);
}
没有出现警告/错误,提交成功,但我上传的图像没有显示在文件夹上/uploads/user/'我想知道为什么,我不知道如何检查我的upload_path是否正确。我希望有个方向。但我用相同的代码从不同的函数上传,它正在工作,图像就会显示出来。
我目前使用localhost。
这是表格:
<?php if($this->session->flashdata('pesan')): ?>
<?php echo $this->session->flashdata('pesan'); ?>
<?php else:?>
<?php if(@$error){echo @$error;} ?>
<?php echo validation_errors(); ?>
<?php
echo form_open_multipart(site_url(uri_string()));
echo form_label('KTP');
echo form_upload('ktp');
echo form_submit('submit','Pesan Sekarang');
?>
如果你的代码有效,并且你不确定你的路径,你可以这样检查:
$upload_path = "./uploads/user/";
if(!file_exists($upload_path)) {
mkdir($upload_path);
}
因为我尝试了你的代码,它也适用于我的有效路径,当我使用无效路径进行测试时,你应该会得到一个错误:上传路径似乎无效作为错误消息
编辑1
以下是我如何测试它:
视图:
<?php echo form_open_multipart(site_url().'/upload_test/uploadImg');?>
<input type="file" name="ktp" title="Upload ktp" class="btn btn-lg btn-info m-b-sm col-sm-12">
<input type="submit" value="Go Upload son !">
<?php echo isset($the_file) ? 'Uploaded file : '.$the_file['file_name'] : ''; ?>
<?php echo isset($error) ? $error : ''; ?>
<?php echo form_close(); ?>
控制器:
public function uploadImg() {
$config['upload_path'] = './uploads/user';
$config['allowed_types'] = 'gif|jpg|png|jpeg';
$config['max_size'] = '2048';
$config['max_width'] = '2650';
$config['max_height'] = '2270';
$config['overwrite'] = FALSE;
$config['encrypt_name'] = FALSE;
$this->load->library('upload', $config);
if( ! file_exists($config['upload_path']) ) {
mkdir($config['upload_path']);
}
if ( ! $this->upload->do_upload('ktp') ) {
$data['error'] = $this->upload->display_errors();
$this->load->view('welcome_message', $data);
}
else {
$data['the_file'] = $this->upload->data();
$this->load->view('welcome_message', $data);
}
}
编辑2
我的最后一个想法是在没有codeIgniter助手的情况下完成它。请在此处查看。W3school PHP文件上传指南。
您定义了一些约束,如max_size、max_width、max_height。您是否检查上传的图像是否满足您定义的所有限制?