濮阳杆衣贸易有限公司

主頁 > 知識庫 > CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能

CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能

熱門標簽:高識別電銷機器人 電銷機器人-快迭智能 拉薩打電話機器人 寶安400電話辦理 智能外呼電銷系統(tǒng) 沈陽人工智能電銷機器人公司 合肥外呼系統(tǒng)app h5 地圖標注 哈爾濱400電話辦理到易號網(wǎng)

本文實例講述了CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能。分享給大家供大家參考,具體如下:

?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>";
    print_r($map);
    echo "/pre>";
    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."hr>";
        $this->load->helper('directory');
        $c_map = directory_map($old_tmp_path, FALSE, TRUE);
//           echo "pre>";
//           print_r($c_map);
//           echo "/pre>";
        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."hr>";
        $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;
    }
  }
  /**
   * 根據(jù)原圖片生成新的圖片
   * @param array $img
   * $img = array('source_image'=> '原圖片的路徑', 'new_image' => '新圖片路徑')
   */
  private function build_img($img = array())
  {  
    if(!is_array($img) || empty($img))
    {
      return FALSE;
    }
    //設(shè)置圖像生成參數(shù)
    $config['image_library']  = 'gd2';  //設(shè)置圖像庫
    $config['source_image']   = $img['source_image']; //設(shè)置原始圖像的名字/路徑
    $config['create_thumb']   = FALSE;  //讓圖像處理函數(shù)產(chǎn)生一個預覽圖像
    $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); //調(diào)用
    if ( ! $this->image_lib->resize())
    {
      echo $this->image_lib->display_errors();
    }    
    $this->image_lib->clear(); //清除圖片處理參數(shù)
  }
}
?>

更多關(guān)于CodeIgniter相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《ThinkPHP入門教程》、《ThinkPHP常用方法總結(jié)》、《Zend FrameWork框架入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家基于CodeIgniter框架的PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • CI(CodeIgniter)框架實現(xiàn)圖片上傳的方法
  • codeigniter上傳圖片不能正確識別圖片類型問題解決方法
  • Codeigniter實現(xiàn)智能裁剪圖片的方法
  • 使用CodeIgniter的類庫做圖片上傳
  • CodeIgniter實現(xiàn)從網(wǎng)站抓取圖片并自動下載到文件夾里的方法
  • php基于CodeIgniter實現(xiàn)圖片上傳、剪切功能
  • CI框架無限級分類+遞歸的實現(xiàn)代碼
  • CI框架文件上傳類及圖像處理類用法分析
  • CI框架實現(xiàn)優(yōu)化文件上傳及多文件上傳的方法

標簽:山東 威海 張家口 成都 巴中 泰州 林芝 梅州

巨人網(wǎng)絡通訊聲明:本文標題《CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能》,本文關(guān)鍵詞  框架,實現(xiàn),遞歸,生成,文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能》相關(guān)的同類信息!
  • 本頁收集關(guān)于CI框架實現(xiàn)遞歸生成文件路徑并重新生成圖片功能的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    绵阳市| 晋中市| 额济纳旗| 台江县| 长子县| 鸡东县| 武威市| 廉江市| 称多县| 柯坪县| 郯城县| 河间市| 雅安市| 济南市| 城固县| 邢台县| 嫩江县| 溧水县| 连平县| 伊宁市| 牙克石市| 吉水县| 新邵县| 黎平县| 伊宁县| 瓮安县| 江川县| 高阳县| 武安市| 山阳县| 丰顺县| 温州市| 靖边县| 兴业县| 崇仁县| 汾阳市| 综艺| 临湘市| 蓝田县| 万荣县| 同江市|