问题描述: 在使用Codeigniter框架开发的网站中,我想要显示PDF文件的名称而不是文件的id。目前,我只能通过文件id来显示PDF文件,但我希望能够显示文件的名称。请问如何实现这个功能?
解答: 要在Codeigniter中显示PDF文件的名称而不是id,可以按照以下步骤进行操作:
下面是一个示例代码,演示了如何实现在Codeigniter中显示PDF文件名称而不是id的功能:
CREATE TABLE `pdf_files` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`path` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
<form action="upload/process" method="post" enctype="multipart/form-data">
<input type="file" name="pdf_file">
<input type="submit" value="Upload">
</form>
class Upload extends CI_Controller {
public function index() {
$this->load->view('upload');
}
public function process() {
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'pdf';
$this->load->library('upload', $config);
if (!$this->upload->do_upload('pdf_file')) {
// 文件上传失败处理
} else {
$file_data = $this->upload->data();
$pdf_name = $file_data['file_name'];
$pdf_path = $file_data['full_path'];
$this->load->model('pdf_model');
$this->pdf_model->save_pdf($pdf_name, $pdf_path);
// 文件上传成功处理
}
}
}
class Pdf_model extends CI_Model {
public function save_pdf($name, $path) {
$data = array(
'name' => $name,
'path' => $path
);
$this->db->insert('pdf_files', $data);
}
public function get_pdf_files() {
return $this->db->get('pdf_files')->result_array();
}
}
<?php foreach ($pdf_files as $pdf_file): ?>
<a href="<?php echo $pdf_file['path']; ?>"><?php echo $pdf_file['name']; ?></a>
<?php endforeach; ?>
$route['default_controller'] = 'upload';
通过以上步骤,你就可以在Codeigniter中实现显示PDF文件名称而不是id的功能了。当用户上传PDF文件时,文件的名称和路径会保存到数据库中,然后在需要显示PDF文件名称的页面中,从数据库中获取文件信息并进行展示。
推荐的腾讯云相关产品:腾讯云对象存储(COS) 腾讯云对象存储(COS)是一种高可用、高可靠、安全、低成本的云存储服务,适用于存储大量非结构化数据,如图片、音视频、文档等。你可以使用腾讯云对象存储(COS)来存储和管理你的PDF文件。详情请参考腾讯云对象存储(COS)的产品介绍:腾讯云对象存储(COS)
希望以上解答对你有帮助!如果还有其他问题,请随时提问。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云