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程序设计有所帮助。

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La distance de Wasserstein, également connue sous le nom de distance de EarthMover (EMD), est une mesure utilisée pour mesurer la différence entre deux distributions de probabilité. Par rapport à la divergence KL ou à la divergence JS traditionnelle, la distance de Wasserstein prend en compte les informations structurelles entre les distributions et présente donc de meilleures performances dans de nombreuses tâches de traitement d'image. En calculant le coût minimum de transport entre deux distributions, la distance de Wasserstein permet de mesurer la quantité minimale de travail nécessaire pour transformer une distribution en une autre. Cette métrique est capable de capturer les différences géométriques entre les distributions, jouant ainsi un rôle important dans des tâches telles que la génération d'images et le transfert de style. Par conséquent, la distance de Wasserstein devient le concept

Pour implémenter le téléchargement et le téléchargement de fichiers dans des documents Workerman, des exemples de code spécifiques sont requis Introduction : Workerman est un framework de communication réseau asynchrone PHP hautes performances, simple, efficace et facile à utiliser. Dans le développement réel, le téléchargement et le téléchargement de fichiers sont des exigences fonctionnelles courantes. Cet article explique comment utiliser le framework Workerman pour implémenter le téléchargement et le téléchargement de fichiers, et donne des exemples de code spécifiques. 1. Téléchargement de fichiers : le téléchargement de fichiers fait référence à l'opération de transfert de fichiers de l'ordinateur local vers le serveur. Ce qui suit est utilisé

VisionTransformer (VIT) est un modèle de classification d'images basé sur Transformer proposé par Google. Contrairement aux modèles CNN traditionnels, VIT représente les images sous forme de séquences et apprend la structure de l'image en prédisant l'étiquette de classe de l'image. Pour y parvenir, VIT divise l'image d'entrée en plusieurs patchs et concatène les pixels de chaque patch via des canaux, puis effectue une projection linéaire pour obtenir les dimensions d'entrée souhaitées. Enfin, chaque patch est aplati en un seul vecteur, formant la séquence d'entrée. Grâce au mécanisme d'auto-attention de Transformer, VIT est capable de capturer la relation entre les différents correctifs et d'effectuer une extraction efficace des fonctionnalités et une prédiction de classification. Cette représentation d'image sérialisée est

Comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers Laravel est un framework Web PHP populaire qui fournit une multitude de fonctions et d'outils pour rendre le développement d'applications Web plus facile et plus efficace. L'une des fonctions couramment utilisées est le téléchargement et le téléchargement de fichiers. Cet article expliquera comment utiliser Laravel pour implémenter les fonctions de téléchargement et de téléchargement de fichiers, et fournira des exemples de code spécifiques. Téléchargement de fichiers Le téléchargement de fichiers fait référence au téléchargement de fichiers locaux sur le serveur pour le stockage. Dans Laravel, nous pouvons utiliser le téléchargement de fichiers

La restauration de photos anciennes est une méthode d'utilisation de la technologie de l'intelligence artificielle pour réparer, améliorer et améliorer de vieilles photos. Grâce à des algorithmes de vision par ordinateur et d’apprentissage automatique, la technologie peut identifier et réparer automatiquement les dommages et les imperfections des anciennes photos, les rendant ainsi plus claires, plus naturelles et plus réalistes. Les principes techniques de la restauration de photos anciennes incluent principalement les aspects suivants : 1. Débruitage et amélioration de l'image Lors de la restauration de photos anciennes, elles doivent d'abord être débruitées et améliorées. Des algorithmes et des filtres de traitement d'image, tels que le filtrage moyen, le filtrage gaussien, le filtrage bilatéral, etc., peuvent être utilisés pour résoudre les problèmes de bruit et de taches de couleur, améliorant ainsi la qualité des photos. 2. Restauration et réparation d'images Les anciennes photos peuvent présenter certains défauts et dommages, tels que des rayures, des fissures, une décoloration, etc. Ces problèmes peuvent être résolus par des algorithmes de restauration et de réparation d’images

La reconstruction d'images en super-résolution est le processus de génération d'images haute résolution à partir d'images basse résolution à l'aide de techniques d'apprentissage en profondeur, telles que les réseaux neuronaux convolutifs (CNN) et les réseaux contradictoires génératifs (GAN). Le but de cette méthode est d'améliorer la qualité et les détails des images en convertissant des images basse résolution en images haute résolution. Cette technologie trouve de nombreuses applications dans de nombreux domaines, comme l’imagerie médicale, les caméras de surveillance, les images satellites, etc. Grâce à la reconstruction d’images en super-résolution, nous pouvons obtenir des images plus claires et plus détaillées, ce qui permet d’analyser et d’identifier plus précisément les cibles et les caractéristiques des images. Méthodes de reconstruction Les méthodes de reconstruction d'images en super-résolution peuvent généralement être divisées en deux catégories : les méthodes basées sur l'interpolation et les méthodes basées sur l'apprentissage profond. 1) Méthode basée sur l'interpolation Reconstruction d'images en super-résolution basée sur l'interpolation

Comment implémenter le téléchargement de fichiers à l'aide de gRPC ? Créez des définitions de service de support, y compris des messages de demande et de réponse. Sur le client, le fichier à télécharger est ouvert et divisé en morceaux, puis diffusé sur le serveur via un flux gRPC. Côté serveur, des fragments de fichiers sont reçus et stockés dans un fichier. Le serveur envoie une réponse une fois le téléchargement du fichier terminé pour indiquer si le téléchargement a réussi.

L'algorithme SIFT (Scale Invariant Feature Transform) est un algorithme d'extraction de caractéristiques utilisé dans les domaines du traitement d'images et de la vision par ordinateur. Cet algorithme a été proposé en 1999 pour améliorer les performances de reconnaissance et de correspondance d'objets dans les systèmes de vision par ordinateur. L'algorithme SIFT est robuste et précis et est largement utilisé dans la reconnaissance d'images, la reconstruction tridimensionnelle, la détection de cibles, le suivi vidéo et d'autres domaines. Il obtient l'invariance d'échelle en détectant les points clés dans plusieurs espaces d'échelle et en extrayant des descripteurs de caractéristiques locales autour des points clés. Les principales étapes de l'algorithme SIFT comprennent la construction d'un espace d'échelle, la détection des points clés, le positionnement des points clés, l'attribution de directions et la génération de descripteurs de caractéristiques. Grâce à ces étapes, l’algorithme SIFT peut extraire des fonctionnalités robustes et uniques, permettant ainsi un traitement d’image efficace.
