Heim  >  Artikel  >  Backend-Entwicklung  >  Codeigniter 框架 Zip 编码类中 read_dir 方法的 bug_PHP教程

Codeigniter 框架 Zip 编码类中 read_dir 方法的 bug_PHP教程

WBOY
WBOYOriginal
2016-07-21 14:58:19853Durchsuche

Codeigniter 框架的压缩解码类,其中的 read_dir 方法,允许你压缩一个服务器某处存在的文件夹(以及它里面的文件和子文件夹)。

提供一个文件夹路径,zip 类将递归读取它并重新创建添加到存档。 你所提供的路径下面的所有文件都会被压缩进来,也包括所有子文件夹。

例如:

$path = '/path/to/your/directory/';
$this->zip->read_dir($path);

默认 Zip 文件会把第一个参数的完整文件夹路径保存到Zip文件里。如果你想忽略目标路径之前的文件夹结构,你可以传递 FALSE (布尔值) 到第二个参数。

例如:

$path = '/path/to/your/directory/';
$this->zip->read_dir($path, false);

这将创建一个包括 “directory” 在内的 ZIP 文件, 所有的子文件夹被正确地保存在里面, 但是不包括此文件夹 /path/to/your.

官方文档只提到了两个参数,源码里其实设置了三个:

read_dir($path, $preserve_filepath = TRUE, $root_path = NULL)

而通常,在框架运行环境内部,取得路径有几种方法:

APPPATH – 对应 Codeigniter 根目录,即 application/
FCPATH – 对应磁盘分区根目录,即 <font face="NSimsun">D:\xxx\codeigniter 根目录\</font>

当使用 FCPATH 之类的方式获取目录绝对路径时,由于源码中处理了路径中反斜杠,导致前后 $root_path 值不一致,会出现第二参数 false 设置无效的问题。

参考资料:http://codeigniter.org.cn/user_guide/libraries/zip.html

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/363823.htmlTechArticleCodeigniter 框架的压缩解码类,其中的 read_dir 方法,允许你压缩一个服务器某处存在的文件夹(以及它里面的文件和子文件夹)。 提供一个...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn