這篇文章主要介紹了CI框架實現遞歸生成文件路徑並重新生成圖片功能,涉及CodeIgniter框架自定義圖片控制器類實現文件目錄遞歸以及調用圖片處理擴展類進行圖片生成相關操作技巧,需要的朋友可以參考下
本文實例講述了CI框架實作遞歸生成檔案路徑並重新產生圖片功能。分享給大家供大家參考,如下:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); set_time_limit(0); class Img_build extends CI_Controller{ private static $img_path = 'upload_old/'; private static $new_path = 'upload/'; function __construct() { parent::__construct(); } /** * 获取需要读取的路径的信息 * $map = array ( * '路径名' => array (文件1, 文件2, 文件3) * ) */ public function index() { $this->load->helper('directory'); //读取路径的信息 $map = directory_map(self::$img_path, FALSE, TRUE); echo "<pre class="brush:php;toolbar:false">"; print_r($map); echo ""; if(!empty($map) && is_array($map)) { $this->build_path($map); } } /** * 递归生成相应的路径 * @param array $map */ private function build_path($map = array()) { if(!file_exists(self::$new_path)) { mkdir(self::$new_path, 0777); } foreach($map as $key => $val) { $old_img_path = self::$img_path; $old_tmp_path = self::$img_path.$key.'/'; $new_img_path = self::$new_path; $new_tmp_path = self::$new_path.$key.'/'; if(is_dir($old_tmp_path)) { //echo $new_tmp_path; if(!file_exists($new_tmp_path)) { mkdir($new_tmp_path, 0777); } self::$img_path = $old_tmp_path; self::$new_path = $new_tmp_path; echo 'path:'.self::$img_path."
"; $this->load->helper('directory'); $c_map = directory_map($old_tmp_path, FALSE, TRUE); // echo "
"; // print_r($c_map); // echo ""; if(!empty($c_map) && is_array($c_map)) { $this->build_path($c_map); } } if(is_file(self::$img_path.$val)) { echo 'file:'.self::$img_path.$val."
"; $img = array(); $img['source_image'] = self::$img_path.$val; $img['new_image'] = self::$new_path.$val; $this->build_img($img); } self::$img_path = $old_img_path; self::$new_path = $new_img_path; } } /** * 根据原图片生成新的图片 * @param array $img * $img = array('source_image'=> '原图片的路径', 'new_image' => '新图片路径') */ private function build_img($img = array()) { if(!is_array($img) || empty($img)) { return FALSE; } //设置图像生成参数 $config['image_library'] = 'gd2'; //设置图像库 $config['source_image'] = $img['source_image']; //设置原始图像的名字/路径 $config['create_thumb'] = FALSE; //让图像处理函数产生一个预览图像 $config['maintain_ratio'] = TRUE; //指定是否在缩放或使用硬值的时候使图像保持原始的纵横比例 //$config['quality'] = 200; $img_info = array(); $img_info = getimagesize($config['source_image']);//获取图片的尺寸 if(is_array($img_info) && !empty($img_info)) { $config['width'] = $img_info[0]; $config['height'] = $img_info[1]; } $config['new_image'] = $img['new_image']; //新图片路径 $this->load->library('image_lib', $config); //加载图片处理类 $this->image_lib->initialize($config); //调用 if ( ! $this->image_lib->resize()) { echo $this->image_lib->display_errors(); } $this->image_lib->clear(); //清除图片处理参数 } } ?>
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!
相關推薦:
#
以上是關於CI框架實現遞歸生成文件路徑並重新生成圖片的功能介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在哪里可以找到win7桌面文件路径和win7桌面文件路径?当我们的电脑永久存在时,它会卡住。随着我们的文件越来越多,电脑运行会越来越慢。那么win7桌面文件路径在哪里呢?让我们分享教程。1.首先,我们打开C盘文件夹。2.然后找到桌面,右击选择属性。3.弹出属性框,选择快捷方式,下面有目标文件路径。以上是关于win7桌面文件路径的搜索方法,希望对大家有所帮助。

在Python编程过程中,一个常见的错误就是“FileNotFoundError”,也就是文件未找到的错误。这个错误通常出现在你试图读取或者写入一个不存在的文件时,这个错误提示会出现在终端窗口或者Python交互式环境中。这个问题可能会让初学者们感到很困惑。所以,本文将会介绍一些解决这个问题的方法,并且帮助你找到并解决这个错误。检查文件路径是否正确通过检查文

在Java开发中处理文件路径中的中文编码问题是一个常见的挑战,特别是在涉及文件上传、下载和处理等操作时。由于中文字符在不同的编码方式下可能会有不同的表现形式,如果不正确处理,可能会出现乱码或路径无法识别的问题。本文将探讨如何正确处理Java开发中的文件路径中文编码问题。首先,我们需要了解Java中的编码方式。Java内部使用Unicode字符集来表示字符。而

在Java开发中,处理文件路径特殊字符问题是一个常见的挑战。文件路径特殊字符包括斜杠、反斜杠、冒号等,这些字符在不同的操作系统中具有不同的含义,因此在处理文件路径时需要进行特殊的处理。本文将介绍一些常见的文件路径特殊字符问题,并提供相应的解决方案。一、斜杠和反斜杠问题在Windows系统中,文件路径使用反斜杠作为分隔符,例如:C:Usersesti

DeepSeek:强大的AI图像生成利器!DeepSeek本身并非图像生成工具,但其强大的核心技术为众多AI绘画工具提供了底层支持。想知道如何利用DeepSeek间接生成图片吗?请继续阅读!利用基于DeepSeek的AI工具生成图像:以下步骤将引导您使用这些工具:启动AI绘画工具:在您的电脑、手机浏览器或微信小程序中搜索并打开一个基于DeepSeek的AI绘画工具(例如,搜索“简单AI”)。选择绘画模式:选择“AI绘图”或类似功能,并根据您的需求选择图片类型,例如“动漫头像”、“风景

随着网络技术的发展,PHP已经成为了Web开发的重要工具之一。而其中一款流行的PHP框架——CodeIgniter(以下简称CI)也得到了越来越多的关注和使用。今天,我们就来看看如何使用CI框架。一、安装CI框架首先,我们需要下载CI框架并安装。在CI的官网(https://codeigniter.com/)上下载最新版本的CI框架压缩包。下载完成后,解压缩

Python文件下载找不到路径的解决方法:确保下载路径存在并具有写权限。检查用户是否有在指定路径中写入文件的权限。如果使用相对路径,请确保相对于当前工作目录。使用os.path.abspath()函数将相对路径转换为绝对路径。

在C++中获取文件路径的方法有:1.使用std::filesystem库。2.使用Boost库。这些方法可用于获取文件的绝对路径、根目录、父目录和扩展名。在实战中,这些技术可用于在用户界面中显示文件列表。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

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

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中