本文实例讲述了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 "";
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.""; // 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."
DeepSeek Harness 快速上手指南之安装、多模型接入与「自带黑匣子」的会话日志
小米路由器突然断网右边橙色灯亮是怎么回事啊(小米路由器突然断网右边橙色灯亮原因详解)
小米路由器突然断网怎么回事(小米路由器突然断网解决方案)
小米ax9000路由器怎么三品合一(小米ax9000路由器三品合一方法)
小米ax9000路由器密码怎样破解(小米ax9000路由器密码破解方法)
小米ax9000路由器哪个孔连接光猫(小米AX9000路由器的哪个孔用于连接光猫)