gpt4 book ai didi

php - 重命名到我的数据库后如何插入/保存新文件名?

转载 作者:行者123 更新时间:2023-11-29 22:58:51 24 4
gpt4 key购买 nike

保留在数据库中后如何插入新文件名?我有具有相同名称但不同图像示例 jellyfish.jpgjellyfish.jpg 的文件。将“覆盖”设置为 false 后,我尝试上传 jellyfish.jpg 两次并成功上传在我的上传文件夹中,第一个名称为 jellyfish.jpg 的图像,第二个上传的图像为 jellyfish1.jpg 。但是,在我检查数据库后,文件名与 jellyfish.jpgjellyfish.jpg 相同,而不是 jellyfish.jpg jellyfish1.jpg

如何在我的数据库中插入新文件名?

相关 Controller 代码:

 <?php  

class Cutidiluar extends CI_Controller {

var $limit=10;
var $offset=10;

public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url'));
$this->load->model('Cutidiluar_Model');

}
public function add()
{ if($this->session->userdata('LOGIN')=='TRUE')
{
$this->load->library('form_validation');
$this->load->model('Diluartahunan_Model');

$this->form_validation->set_rules('ket', 'ket');
$this->form_validation->set_rules('lama', 'lama');
$this->form_validation->set_rules('lampiran', 'lampiran');

if ($this->form_validation->run() == false) {

$data['nama'] = $this->Diluartahunan_Model->nama();
$data['view'] = 'Cutidiluar/add';
$data['judul']='';
$this->load->view('index',$data);
}else {
$config = array(
'upload_path' => "./uploads/",
'allowed_types' => "gif|jpg|png|jpeg|pdf",
'overwrite' => false,
'max_size' => "2048000", // Can be set to particular file size , here it is 2 MB(2048 Kb)
'max_height' => "768",
'max_width' => "1024"
);


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

//file berhasil diupload -> lanjutkan ke query insert
$npp=$this->session->userdata('NPP');
$id_jenis = $_POST['id_jenis'];
$ket = $_POST['ket'];
$lama = $_POST['lama'];
$tgl_selesai= date('Y-m-d', strtotime($_POST['tgl_selesai']));
$tgl_mulai= date('Y-m-d', strtotime($_POST['tgl_mulai']));
$lampiran = $_FILES['userfile']['name'];
$data = array (
'npp'=> $npp,
'id_jenis'=> $id_jenis,
'tgl_pengajuan' => date('y-m-d'),
'ket' => $ket,
'status' => 'P',
'lampiran'=> $lampiran,
'lama'=> $lama,
'tgl_mulai'=> $tgl_mulai,
'tgl_selesai'=> $tgl_selesai,
);
$this->Cutidiluar_Model->add($data);
redirect('Cutidiluar');}}}

要上传的文件

$lampiran = $_FILES['userfile']['name'];

*更新(已解决)我更改了这段代码来自

      $lampiran = $_FILES['userfile']['name']; 

       $lampiran = $this->upload->file_name;

感谢建议编辑我的问题,并对我的英语水平感到抱歉

最佳答案

这是在 Controller 内编写的一个简单函数:

function incrementFileName($file_path,$filename){
if(count(glob($file_path.$filename))>0)
{
$file_ext = end(explode(".", $filename));
$file_name = str_replace(('.'.$file_ext),"",$filename);
$newfilename = $file_name.'_'.count(glob($file_path."$file_name*.$file_ext")).'.'.$file_ext;
return $newfilename;
}
else
{
return $filename;
}
}

在 $config 数组之前调用此函数

$newName = $this->incrementFileName( "uploads/", $_FILES["my_file"]["name"]);

$config数组中添加'file_name'=>$newName

关于php - 重命名到我的数据库后如何插入/保存新文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28604588/

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