gpt4 book ai didi

php - Codeigniter 表单提交并上传文件

转载 作者:IT王子 更新时间:2023-10-28 23:49:58 25 4
gpt4 key购买 nike

我正在尝试编写一个代码,我可以在其中提交表单,在数据库中输入内容,同时执行文件上传并将其存储在我服务器内的文件夹中

文件夹位置称为上传,位于我网站的根目录

这是我的代码

Controller (site.php)

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site extends CI_controller {

public function __construct()
{
parent::__construct();
// Your own constructor code
$this->load->model("site_model");
$this->load->helper(array('form', 'url'));
}

public function cmain($type,$page)
{
$data = $this->_initialize_data(); //this is just a bunch of variables that im calling in another function
$data['type'] = $type;
$data['page'] = $page;
$this->load->vars($data);
$this->load->view('site/cmain');
}


public function m1()
{

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

if(isset($_POST['m1']))
{
$suffix = $this->input->post("suffix");
$fn = $this->input->post("fn");
$mn = $this->input->post("mn");
$ln = $this->input->post("ln");


$newdata = array('suffix'=>$suffix,
'fn'=>$fn,
'mn'=>$mn,
'ln'=>$ln,

);
//this code is for the file upload
$config['upload_path'] = 'uploads';
$config['allowed_types'] = '*';

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

$data = array('upload_data' => $this->upload->data());
//end of file upload codes

$this->db->insert('myself', $newdata);

redirect(base_url() . "site/complaint");

}

}

查看(cmain.php)

<form action="<?php echo base_url();?>site/m1" name="details" id="details" method="post" enctype="multipart/form-data">
<table class='table' width="100%">
<tr>
<td colspan='2'>
<b><font color="#3B608C">Personal Information</font></b>
</td>
</tr>
<tr>
<td>
Suffix (e.g. Jr., III)
</td>
<td>
<input type="text" name="suffix" id="suffix" value="">
</td>
</tr>
<tr>
<td>
First Name*
</td>
<td>
<input type="text" name="fn" id="fn" value="">
</td>
</tr>
<tr>
<td>
Middle Name*
</td>
<td>
<input type="text" name="mn" id="mn" value="">
</td>
</tr>
<tr>
<td>
Last Name*
</td>
<td>
<input type="text" name="ln" id="ln" value="">
</td>
</tr>
</table>

<table>
<tr>
<td width="50%">
Please attach documents pertinent to these complaints. <br>
(Attach a zip file if more than one document)<br>
</td>
<td align="center">
<input name = "userfile" type="file" class="input-xlarge" id = "userfile" />
</td></tr>
</table>
<input type="submit" value="Submit Form" class="pull-right" id="submit" name="m1"/>
</form>

表单在数据库中正确发布,如后缀、fn、ln 和 mn但是文件上传不起作用

我尽力遵循 codeigniter 文档示例,只得到我认为我需要的行

我做错了什么吗?

谢谢

最佳答案

终于搞定了

我用这个来上传文件

                //start of file upload code
$config['upload_path'] = './uploads/';
$config['allowed_types'] = '*';
$this->load->library('upload', $config);
$this->upload->do_upload();
$data = $this->upload->data();
//end of file upload code

并改变了

<form action="<?php echo base_url();?>site/m1" name="details" id="details" method="post" enctype="multipart/form-data">

进入

<?php echo form_open_multipart('site/c_upload');?>

关于php - Codeigniter 表单提交并上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14498474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com