CI框架文件上传类及图像处理类用法分析,ci文件上传_PHP教程
CI框架文件上传类及图像处理类用法分析,ci文件上传
本文实例讲述了CI框架文件上传类及图像处理类用法。分享给大家供大家参考,具体如下:
//列表页banner图片 public function edit_list_page_banner($category_id=""){ $category_id= empty($category_id)?$_POST["category_id"]:$category_id; //上传图片 if(isset($_POST["key"]) && $_POST["key"] == "upload"){ /* 1.set_upload_path */ $config['upload_path']="./upload/source/".date("Y/m/d");//文件上传目录 if(!file_exists("./upload/source/".date("Y/m/d"))){ mkdir("./upload/source/".date("Y/m/d"),0777,true);//原图路径 } if(!file_exists("./upload/big_thumb/".date("Y/m/d"))){ mkdir("./upload/big_thumb/".date("Y/m/d"),0777,true);//大缩略图路径 } if(!file_exists("./upload/small_thumb/".date("Y/m/d"))){ mkdir("./upload/small_thumb/".date("Y/m/d"),0777,true);//小缩略图路径 } $config['allowed_types']="gif|jpg|png|txt";//文件类型 $config['max_size']="20000";//最大上传大小 $this->load->library("upload",$config); if($this->upload->do_upload('userfile'))//表单中name="userfile" { //上传成功之后,生成两张缩略图 $data=$this->upload->data();//返回上传图片的信息 $this->load->library("image_lib");//载入图像处理类库 //第一种方式:大缩略图的配置参数 /* $config_big_thumb['image_library'] = 'gd2';//gd2图库 $config_big_thumb['source_image'] = $data['full_path'];//原图 $config_big_thumb['new_image'] = "./upload/big_thumb/".date("Y/m/d")."/".$data['file_name'];//大缩略图 $config_big_thumb['create_thumb'] = true;//是否创建缩略图 $config_big_thumb['maintain_ratio'] = true; $config_big_thumb['width'] = 300;//缩略图宽度 $config_big_thumb['height'] = 300;//缩略图的高度 $config_big_thumb['thumb_marker']="_300_300";//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 */ //第二种:大缩略图的配置参数 /* $config_big_thumb=array( 'image_library' => 'gd2',//gd2图库 'source_image' => $data['full_path'],//原图 'new_image' => "./upload/big_thumb/".date("Y/m/d")."/".$data['file_name'],//大缩略图 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 300,//缩略图宽度 'height' => 300,//缩略图的高度 'thumb_marker'=>"_300_300"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 ); */ //第三种方式:将部分配置信息放到了config.php文件中 $config_big_thumb=$this->config->item("config_big_thumb"); $config_big_thumb['source_image']=$data['full_path']; $config_big_thumb['new_image']="./upload/big_thumb/".date("Y/m/d")."/".$data['file_name']; //小缩略图的配置参数 /* $config_small_thumb['image_library'] = 'gd2';//gd2图库 $config_small_thumb['source_image'] = $data['full_path'];//原图 $config_small_thumb['new_image'] = "./upload/small_thumb/".date("Y/m/d")."/".$data['file_name'];//大缩略图 $config_small_thumb['create_thumb'] = true;//是否创建缩略图 $config_small_thumb['maintain_ratio'] = true; $config_small_thumb['width'] = 100;//缩略图宽度 $config_small_thumb['height'] = 100;//缩略图的高度 $config_small_thumb['thumb_marker']="_100_100";//缩略图名字后加上 "_100_100",可以代表是一个100*100的缩略图 */ //小缩略图的配置参数 $config_small_thumb=array( 'image_library' => 'gd2',//gd2图库 'source_image' => $data['full_path'],//原图 'new_image' => "./upload/small_thumb/".date("Y/m/d")."/".$data['file_name'],//大缩略图 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 100,//缩略图宽度 'height' => 100,//缩略图的高度 'thumb_marker'=>"_100_100"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 ); //$this->load->library("image_lib",$config_thumb); $this->image_lib->initialize($config_big_thumb); $this->image_lib->resize();//生成big缩略图 $this->image_lib->initialize($config_small_thumb); $this->image_lib->resize();//生成small缩略图 //插入数据库 $data_array = array( 'category_id' => $category_id, 'pic_url' => "./upload/source/".date("Y/m/d")."/".$data['file_name'], 'addtime' => time(), 'is_stop' => 1, 'sort'=>0, 'gender' => $_POST["gender"], 'link_url'=>$_POST["link_url"], 'user_id' => intval($this->cur_user ['user_id']) ); $this->category_model->add_category_banner($data_array); } } $con_arr[] = " category_id= '{$category_id}'"; if ($gender=='' ) { $gender=0; } $con_arr[] = " gender= '{$gender}'"; $condition = implode( ' and ', $con_arr); $banner_list = $this->category_model->get_banner_all($condition); $this->tp->assign('banner_list', $banner_list); $this->tp->assign('base_url', base_url()); $this->tp->assign('gender', $gender); $this->tp->assign('category_id', $category_id); $this->tp->display("category/edit_list_page_banner.php"); }
config.php文件中有关缩略图的配置项:
//大缩略图的配置参数 $config_big_thumb=array( 'image_library' => 'gd2',//gd2图库 'create_thumb' => true,//是否创建缩略图 'maintain_ratio' => true, 'width' => 300,//缩略图宽度 'height' => 300,//缩略图的高度 'thumb_marker'=>"_300_300"//缩略图名字后加上 "_300_300",可以代表是一个300*300的缩略图 );
更多关于CodeIgniter相关内容感兴趣的读者可查看本站专题:《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《php优秀开发框架总结》、《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《Zend FrameWork框架入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Wasserstein距离,又称为EarthMover'sDistance(EMD),是一种用于度量两个概率分布之间差异的度量方法。相比于传统的KL散度或JS散度,Wasserstein距离考虑了分布之间的结构信息,因此在许多图像处理任务中展现出更好的性能。通过计算两个分布之间的最小运输成本,Wasserstein距离能够测量将一个分布转换为另一个分布所需的最小工作量。这种度量方法能够捕捉到分布之间的几何差异,从而在图像生成、风格迁移等任务中发挥重要作用。因此,Wasserstein距离成为了概

实现Workerman文档中的文件上传与下载,需要具体代码示例引言:Workerman是一款高性能的PHP异步网络通讯框架,具备简洁、高效、易用等特点。在实际开发中,文件上传和下载是常见的功能需求,本文将介绍如何使用Workerman框架实现文件的上传和下载,并给出具体的代码示例。一、文件上传:文件上传是指将本地计算机上的文件传输至服务器端的操作。下面是使用

VisionTransformer(VIT)是Google提出的一种基于Transformer的图片分类模型。不同于传统CNN模型,VIT将图像表示为序列,并通过预测图像的类标签来学习图像结构。为了实现这一点,VIT将输入图像划分为多个补丁,并将每个补丁中的像素通过通道连接,然后进行线性投影以达到所需的输入维度。最后,每个补丁被展平为单个向量,从而形成输入序列。通过Transformer的自注意力机制,VIT能够捕捉到不同补丁之间的关系,并进行有效的特征提取和分类预测。这种序列化的图像表示方法为

如何利用Laravel实现文件上传和下载功能Laravel是一个流行的PHPWeb框架,提供了丰富的功能和工具,使得开发Web应用程序更加简单和高效。其中一个常用的功能就是文件上传和下载。本文将介绍如何利用Laravel实现文件上传和下载功能,并提供具体的代码示例。文件上传文件上传是指将本地的文件上传到服务器上保存。在Laravel中,我们可以使用文件上传

老照片修复是利用人工智能技术对老照片进行修复、增强和改善的方法。通过计算机视觉和机器学习算法,该技术能够自动识别并修复老照片中的损坏和缺陷,使其看起来更加清晰、自然和真实。老照片修复的技术原理主要包括以下几个方面:1.图像去噪和增强修复老照片时,需要先对其进行去噪和增强处理。可以使用图像处理算法和滤波器,如均值滤波、高斯滤波、双边滤波等,来解决噪点和色斑问题,从而提升照片的质量。2.图像复原和修复在老照片中,可能存在一些缺陷和损坏,例如划痕、裂缝、褪色等。这些问题可以通过图像复原和修复算法来解决

超分辨率图像重建是利用深度学习技术,如卷积神经网络(CNN)和生成对抗网络(GAN),从低分辨率图像中生成高分辨率图像的过程。该方法的目标是通过将低分辨率图像转换为高分辨率图像,从而提高图像的质量和细节。这种技术在许多领域都有广泛的应用,如医学影像、监控摄像、卫星图像等。通过超分辨率图像重建,我们可以获得更清晰、更具细节的图像,有助于更准确地分析和识别图像中的目标和特征。重建方法超分辨率图像重建的方法通常可以分为两类:基于插值的方法和基于深度学习的方法。1)基于插值的方法基于插值的超分辨率图像重

如何使用gRPC实现文件上传?创建配套服务定义,包括请求和响应消息。在客户端,打开要上传的文件并将其分成块,然后通过gRPC流流式传输发送到服务端。在服务端,接收文件块并将其存储到文件中。服务端在文件上传完成后发送响应,指示上传是否成功。

尺度不变特征变换(SIFT)算法是一种用于图像处理和计算机视觉领域的特征提取算法。该算法于1999年提出,旨在提高计算机视觉系统中的物体识别和匹配性能。SIFT算法具有鲁棒性和准确性,被广泛应用于图像识别、三维重建、目标检测、视频跟踪等领域。它通过在多个尺度空间中检测关键点,并提取关键点周围的局部特征描述符来实现尺度不变性。SIFT算法的主要步骤包括尺度空间的构建、关键点检测、关键点定位、方向分配和特征描述符生成。通过这些步骤,SIFT算法能够提取出具有鲁棒性和独特性的特征,从而实现对图像的高效
