[英]codeigniter upload file error
我收到錯誤消息“您沒有選擇要上傳的文件”。 當我嘗試使用此代碼上傳照片時:
function index()
{
$this->load->helper(array('form', 'url'));
$this->load->library('session');
$this->load->library('form_validation');
$this->form_validation->set_rules('title', 'title', 'trim|required|max_length[255]');
$this->form_validation->set_rules('description', 'description', 'trim|required|max_length[2550]');
$this->form_validation->set_error_delimiters('<p class="error">', '</p>');
$data['title'] = $this->input->post('username');
$data['description'] = $this->input->post('description');
if($this->form_validation->run() == FALSE)
{
$this->load->view('upload_form', $data);
}
else
{
$this->load->helper('string');
$config['upload_path'] = realpath($_SERVER['DOCUMENT_ROOT'] . '/uploads') . '/';
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '5000';
$config['max_width'] = '10240';
$config['max_height'] = '10240';
$config['overwrite'] = FALSE;
$config['file_name'] = random_string('alpha', 6);
$config['remove_spaces'] = TRUE;
$this->load->library('upload', $config);
if(!$this->upload->do_upload('file'))
{
$error = array('upload_message' => $this->upload->display_errors());
$this->load->view('upload_form', $error);
}
else
{
//do upload stuff
}
}
這是視圖:
<?php echo form_open('upload'); ?>
<h5>Title: </h5>
<br />
<?php echo form_input('title', set_value('title')); ?>
<?php $a = form_error('title'); ?>
<br />
<?php echo '<h5>'; echo $a=="" ? '<br />' : $a.'<br />'; echo '</h5>'; ?>
<h5>Description: </h5>
<br />
<?php echo form_textarea('description', set_value('description')); ?>
<?php $a = form_error('description'); ?>
<br />
<?php echo '<h5>'; echo $a=="" ? '<br />' : $a.'<br />'; echo '</h5>'; ?>
<h5>Upload: </h5>
<br />
<?php echo form_upload('file'); ?>
<?php $a = (isset($upload_message) ? $upload_message : "<br/> <br /><br />"); ?>
<?php echo '<h5>'; echo $a=="" ? '<br />a' : $a.''; echo '</h5>'; ?>
<br />
<?php echo form_submit('upload', 'Upload'); ?>
<?php form_close(); ?>
我已經使用相同的配置制作了一個測試上傳表單,它可以完美運行。 但是,當我嘗試使用此表單時,收到錯誤消息“您未選擇要上傳的文件”。
您需要使用form_open_multipart()
而不是form_open()
。 沒有這個,您的測試腳本可能無法工作。
使用form_open_multipart()
方法代替form_opne()
。 它為我工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.