gpt4 book ai didi

CI框架实现递归生成文件路径并重新生成图片功能

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 30 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章CI框架实现递归生成文件路径并重新生成图片功能由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了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>";    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;    }  }  /**   * 根据原图片生成新的图片   * @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(); //清除图片处理参数  }}?>

  。

希望本文所述对大家基于CodeIgniter框架的PHP程序设计有所帮助.

最后此篇关于CI框架实现递归生成文件路径并重新生成图片功能的文章就讲到这里了,如果你想了解更多关于CI框架实现递归生成文件路径并重新生成图片功能的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com