我正在准备一个 CMS,其中包含使命、愿景和 Why_Us 部分。 我希望在编辑时我应该分别上传三张图像,并为每个部分提供不同的文本字段。整个条目和图像应反映在 SQL 数据库中。示例代码如下,请帮忙。
查看代码
<form method="post" action="<?php echo site_url('about_us/insertdata');?>" enctype="multipart/form-data">
<!-- ============================================================= -->
<!-- Section for traavnow vision starts here -->
<!-- Section for our vision text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Our Vision:</label>
<div class="col-sm-10">
<textarea class="form-control" id="vision" name="our_vision" rows="3"></textarea>
</div>
</div>
<!-- Section for our vision text data ends here -->
<!-- Section for Uploading Image File to Our Vision Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label" >Upload Image:</label>
<div class="col-sm-4">
<input type="file" class="form-control-file" id="vision_image" name="vision_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="" class="img-fluid rounded table-bordered" alt="Vision Image" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our Vision Section ends here -->
<!-- Section for traavnow vision ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Section for traavnow mission starts here -->
<!-- Section for our mission text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Our Mission:</label>
<div class="col-sm-10">
<textarea class="form-control" id="mission" name="our_mission" rows="3"></textarea>
</div>
</div>
<!-- Section for our mission text data ends here -->
<!-- Section for Uploading Image File to Our mission Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label">Upload Image:</label>
<div class="col-sm-4">
<input type="file" class="form-control-file" id="mission_image" name="mission_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="" class="img-fluid rounded table-bordered" alt="Mission Image" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our mission Section ends here -->
<!-- Section for traavnow mission ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Section for traavnow why_traavnow starts here -->
<!-- Section for our why_traavnow text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Why Traavnow:</label>
<div class="col-sm-10">
<textarea class="form-control" id="why_traavnow" name="why_traavnow" rows="3"></textarea>
</div>
</div>
<!-- Section for our why_traavnow text data ends here -->
<!-- Section for Uploading Image File to Our why_traavnow Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label">Upload Image:</label>
<div class="col-sm-4">
<input type="file" class="form-control-file" id="whyus_image" name="whyus_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="" class="img-fluid rounded table-bordered" alt="Why Traavnow" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our why_traavnow Section ends here -->
<!-- Section for traavnow why_traavnow ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Button responding to form submission starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<button class="btn btn-primary form-control" name="update" type="submit">Update Details</button>
</div>
</div>
<!-- Button responding to form submission ends here -->
<!-- ============================================================= -->
<div style="height: 120px;"></div>
</form>
控制器代码
// Function to INSERT text and images against each text starts here
public function insertdata()
{
$vision = $this->input->post('our_vision');
$mission = $this->input->post('our_mission');
$why_traavnow = $this->input->post('why_traavnow');
// get foto
$config['upload_path'] = './assets/uploads/about_us/';
$config['allowed_types'] = 'jpg|png|jpeg|';
$config['max_size'] = '2048'; //2MB max
$config['max_width'] = '4480'; // pixel
$config['max_height'] = '4480'; // pixel
$config['file_name'] = $_FILES['vision_image']['name'];
$this->upload->initialize($config);
if (!empty($_FILES['vision_image']['name'] ))
{
if ( $this->upload->do_upload('vision_image') ) {
$photo = $this->upload->data();
$data = array(
'our_vision' => $vision,
'photo' => $photo['vision_image'],
'our_mission' => $mission,
'why_traavnow' => $why_traavnow,
);
if(isset($_FILES) && ){
$this->model("about_us_model/insert");
}
}else {
echo "<script>alert('Details Updated Successfully')</script>";
}
}
}
型号代码
public function insert($data)
{
$this->db->insert('about_us',$data);
return TRUE;
}
根据您的图片:-
注:-
首先在
about
目录下创建一个以assets/uploads/about
命名的文件夹,并在该文件夹中存储3张不同的图像,并在about_us
数据库表中插入带有扩展名的文本和图像路径。
控制器代码:- 关于我们
<?php
class About_us extends CI_Controller
{
function __construct(){
parent::__construct();
}
public function index()
{
echo "This is About us Controllers";
}
public function edit_about_us()
{
$data['about_us'] = $this->db->get('about_us')->result_array();
$this->load->view('edit_about_us',$data);
}
public function updateAbout($aid)
{
if($_FILES['vision_image']['name']!=""){
$config['upload_path'] = "./assets/uploads/about/";
$config['allowed_types'] = 'gif|jpeg|png|jpg';
$this->load->library('upload',$config);
$this->path = './assets/uploads/about/';
$this->upload->initialize($config);
if (!$this->upload->do_upload('vision_image'))
{
$error = array('error'=>$this->upload->display_errors());
}else{
$imageUpload = $this->upload->data();
$vision_image_name=$imageUpload['file_name'];
}
}
else{
$vision_image_name=$this->input->post('vision_image_oldimage');
}
if($_FILES['mission_image']['name']!=""){
$config['upload_path'] = "./assets/uploads/about/";
$config['allowed_types'] = 'gif|jpeg|png|jpg';
$this->load->library('upload',$config);
$this->path = './assets/uploads/about/';
$this->upload->initialize($config);
if (!$this->upload->do_upload('mission_image'))
{
$error = array('error'=>$this->upload->display_errors());
}else{
$imageUpload = $this->upload->data();
$mission_image_name=$imageUpload['file_name'];
}
}
else{
$mission_image_name=$this->input->post('mission_image_oldimage');
}
if($_FILES['whyus_image']['name']!=""){
$config['upload_path'] = "./assets/uploads/about/";
$config['allowed_types'] = 'gif|jpeg|png|jpg';
$this->load->library('upload',$config);
$this->path = './assets/uploads/about/';
$this->upload->initialize($config);
if (!$this->upload->do_upload('whyus_image'))
{
$error = array('error'=>$this->upload->display_errors());
}else{
$imageUpload = $this->upload->data();
$whyus_image_name=$imageUpload['file_name'];
}
}
else{
$whyus_image_name=$this->input->post('image_image_oldimage');
}
$aboutdata = array(
'vision'=>$this->input->post('our_vision'),
'vision_image'=>$vision_image_name,
'mission'=>$this->input->post('our_mission'),
'mission_image'=>$mission_image_name,
'why_traavnow'=>$this->input->post('why_traavnow'),
'image'=>$whyus_image_name);
if($_FILES['vision_image']['name']!=""){
$getData = $this->db->get_where('about_us', array('id' => $aid))->row_array();
$getData['vision_image'];
unlink('assets/uploads/about/'.$getData['vision_image']);
}
if($_FILES['mission_image']['name']!=""){
$getData = $this->db->get_where('about_us', array('id' => $aid))->row_array();
$getData['mission_image'];
unlink('assets/uploads/about/'.$getData['mission_image']);
}
if($_FILES['whyus_image']['name']!=""){
$getData = $this->db->get_where('about_us', array('id' => $aid))->row_array();
$getData['image'];
unlink('assets/uploads/about/'.$getData['image']);
}
$updatedata = $this->db->where('id',$aid)->update('about_us',$aboutdata);
if($updatedata)
{
redirect(base_url().'index.php/admin/edit_about_us');
}
else
{
redirect(base_url().'index.php/admin/edit_about_us');
}
}
public function view_about_us()
{
$this->load->view('view_about_us');
}
}
?>
查看部分:- edit_about_us.php
<?php
$this->load->view('includes/dashboard_head.php');
$this->load->view('includes/dashboard_navbar.php');
$this->load->view('includes/dashboard_sidebar.php');
?>
<!-- Section for adding/editing banner -->
<div class="content-wrapper" >
<!-- Content Header (Page header) -->
<section class="content-header">
<div class="container-fluid">
<div class="row mb-2">
<div class="col-sm-6">
<h1>Edit About Us</h1>
</div>
<div class="col-sm-6">
<ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="<?php echo base_url() ?>index.php/Dashboard_View">Home</a></li>
<li class="breadcrumb-item active">About Us Management</li>
</ol>
</div>
</div>
</div><!-- /.container-fluid -->
</section>
<!-- Section for displaying textbox to edit and add aboutUsDetails starts here -->
<div class="container">
<div class="container card-header bg-info table-bordered">
<i class="fas fa-info-circle"></i> <label style="font-weight: bold;">About Us </label>
<div class="row" style="float: right;">
<button type="button" class="btn btn-light btn-sm" id="addBTN" onclick="startAdding()" style="margin-right: 6px;" >Add Details</button>
<button type="button" class="btn btn-light btn-sm" id="editBTN" >Edit Details</button>
</div>
</div>
<div class="container" style="margin-top: 24px;" >
<?php
foreach($about_us as $about){
$id = $about['id'];
$vision = $about['vision'];
$vision_image = $about['vision_image'];
$mission = $about['mission'];
$mission_image = $about['mission_image'];
$why_traavnow = $about['why_traavnow'];
$image = $about['image'];
}
?>
<form method="POST" action="<?php echo base_url().'index.php/About_us/updateAbout/'.$id;?>" enctype="multipart/form-data">
<!-- ============================================================= -->
<!-- Section for traavnow vision starts here -->
<!-- Section for our vision text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Our Vision:</label>
<div class="col-sm-10">
<textarea class="form-control" id="vision" name="our_vision" rows="3"><?php echo $vision;?></textarea>
</div>
</div>
<!-- Section for our vision text data ends here -->
<!-- Section for Uploading Image File to Our Vision Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label" >Upload Image:</label>
<div class="col-sm-4">
<input type="hidden" name="vision_image_oldimage" value="<?php echo $vision_image;?>">
<input type="file" class="form-control-file" id="vision_image" name="vision_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="<?php echo base_url('/assets/uploads/about/'.$vision_image);?>" class="img-fluid rounded table-bordered" alt="Vision Image" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our Vision Section ends here -->
<!-- Section for traavnow vision ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Section for traavnow mission starts here -->
<!-- Section for our mission text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Our Mission:</label>
<div class="col-sm-10">
<textarea class="form-control" id="mission" name="our_mission" rows="3"><?php echo $mission;?></textarea>
</div>
</div>
<!-- Section for our mission text data ends here -->
<!-- Section for Uploading Image File to Our mission Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label">Upload Image:</label>
<div class="col-sm-4">
<input type="hidden" name="mission_image_oldimage" value="<?php echo $mission_image;?>">
<input type="file" class="form-control-file" id="mission_image" name="mission_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="<?php echo base_url('/assets/uploads/about/'.$mission_image);?>" class="img-fluid rounded table-bordered" alt="Mission Image" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our mission Section ends here -->
<!-- Section for traavnow mission ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Section for traavnow why_traavnow starts here -->
<!-- Section for our why_traavnow text data starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label">Why Traavnow:</label>
<div class="col-sm-10">
<textarea class="form-control" id="why_traavnow" name="why_traavnow" rows="3"><?php echo $why_traavnow;?></textarea>
</div>
</div>
<!-- Section for our why_traavnow text data ends here -->
<!-- Section for Uploading Image File to Our why_traavnow Section Starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-4 col-form-label">Upload Image:</label>
<div class="col-sm-4">
<input type="hidden" name="image_image_oldimage" value="<?php echo $image;?>">
<input type="file" class="form-control-file" id="whyus_image" name="whyus_image">
</div>
<div class="col-sm-4" style="margin-top: 24px;">
<img src="<?php echo base_url('/assets/uploads/about/'.$image);?>" class="img-fluid rounded table-bordered" alt="Why Traavnow" style="height: 110px; width: 110px;">
</div>
</div>
<!-- Section for Uploading Image File to Our why_traavnow Section ends here -->
<!-- Section for traavnow why_traavnow ends here -->
<!-- ============================================================= -->
<!-- ============================================================= -->
<!-- Button responding to form submission starts here -->
<div class="form-group row">
<label for="staticEmail" class="col-sm-2 col-form-label"></label>
<div class="col-sm-10">
<button class="btn btn-primary form-control" id="updateBTN" name="update" type="submit">Update Details</button>
</div>
</div>
<!-- Button responding to form submission ends here -->
<!-- ============================================================= -->
<div style="height: 120px;"></div>
</form>
</div>
</div>
<!-- Section for displaying textbox to edit and add aboutUsDetails ends here -->
<!-- Function for Disabling button; if no data is inserted in the database, starts here -->
<script type="text/javascript">
window.onload = function()
{
var txt = document.getElementById('vision');
var btn = document.getElementById('editBTN');
var btn1 = document.getElementById('addBTN');
if(txt.value == '')
{
btn.disabled=true;
document.getElementById('updateBTN').innerHTML = "Add About Us";
}
else{
btn.disabled=false;
btn1.disabled=true;
document.getElementById('updateBTN').innerHTML = "Update About Us";
}
}
// function for moving cursor to the first box to add new details
function startAdding(){
document.getElementById("vision").focus();
}
</script>
<!-- Function for Disabling button if no data is inserted in the database ends here -->
<!-- Control Sidebar -->
<aside class="control-sidebar control-sidebar-dark">
<!-- Control sidebar content goes here -->
</aside>
<!-- /.control-sidebar -->
</div>
<!-- ./wrapper -->
<?php
$this->load->view('includes/dashboard_footer.php');
$this->load->view('includes/dashboard_jquery.php');
?>
注意:- 关于生成查询结果:-
https://codeigniter.com/userguide3/database/results.html
关于文件上传:-
https://codeigniter.com/userguide3/libraries/file_uploading.html