php安装php_rar扩展实现rar文件读取和解压的方法_php技巧

本文实例讲述了php安装php_rar扩展实现rar文件读取和解压的方法。分享给大家供大家参考,具体如下:

PHP Rar Archiving 模块 (php_rar) 是一个读取和解压rar文件的模块,但不提供RAR压缩(打包)的功能。

1.首先要到PECL的RAR页面下载DLL. 根据自己的情况选择下载对应版本的DLL.

PHP版本要求:php_rar模块适用于php 5.2及以上, 不过对于windows系统,似乎只有php5.3 / 5.4对应的DLL下载。

2.下载到的是个zip包,将其中的php_rar.pdb和php_rar.dll两个文件解压到PHP安装目录下的ext子目录中。

3.在php.ini中加入一行php_rar扩展引用声明 extension=php_rar.dll

4.如果使用Apache服务器,就需要重启Apache。IIS下以FastCGI模式加载的PHP则不需要进一步操作了。

5.写个测试文件看看有没有问题啊

6.如果有问题,查看服务器的日志文件。

附官方的测试代码test-rar.php :

<?php
$archive_name = '/full/path/to/file.rar'
$entry_name = 'path/to/archive/entry.txt'; //notice: no slash at the beginning
$dir_to_extract_to = '/path/to/extract/dir';
$new_entry_name = 'some.txt';
$rar = rar_open($archive_name) OR die('failed to open ' . $archive_name);
$entry = rar_entry_get($rar, $entry_name) OR die('failed to find ' . $entry_name . ' in ' . $archive_name);
// this will create all necessary subdirs under $dir_to_extract_to
$entry->extract($dir_to_extract_to);
/* OR */
// this will create only one new file $new_entry_name in $dir_to_extract_to
$entry->extract('', $dir_to_extract_to.'/'.$new_entry_name);
// this line is really not necessary
rar_close($rar);
?>

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP扩展开发教程》、《php文件操作总结》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《PHP运算与运算符用法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索php
, 安装
, 解压
, 读取
, php_rar扩展
rar文件
加载已解压的扩展程序、无法解压缩扩展程序、扩展文件解压失败、搜狗扩展文件解压失败、无法解压扩展程序,以便于您获取更多的相关知识。

时间: 2025-01-21 17:58:24

php安装php_rar扩展实现rar文件读取和解压的方法_php技巧的相关文章

php使用fgetcsv读取csv文件出现乱码的解决方法_php技巧

本文实例讲述了php使用fgetcsv读取csv文件出现乱码的解决方法.分享给大家供大家参考.具体分析如下: 一般来说在php中碰到乱码多半是编码问题,在这里我们实例分析了fgetcsv读取csv文件乱码原因所在与解决方法. 例子如下: 复制代码 代码如下: function get_csv_contents( $file_target ){  $handle  = fopen( $file_target, 'r');  while ($data = fgetcsv($handle, 1000,

php读取文件内容到数组的方法_php技巧

本文实例讲述了php读取文件内容到数组的方法.分享给大家供大家参考.具体分析如下: php中可以通过file()函数将文件读取到数组中,数组中的元素即为文件的每行,file()函数通过"\n"按行分割文件保存到数组,所以数组每个元素都是以"\n"结尾,我们可以通过 rtrim()函数将其去除 <?php $lines = file("/tmp/file.txt"); foreach ($lines as $line) { $line = r

Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法_php技巧

本文实例讲述了Ubuntu server 11.04安装memcache及php使用memcache来存储session的方法.分享给大家供大家参考,具体如下: 1.首先安装memcache服务端: sudo apt-get install memcached 安装完成后系统 自动启动了 memcached服务占用11211端口 如需重新配置11211端口的服务 需要关闭已开启的memcached服务 手动启动: memcached -d -m 128 -p 11211 -u memcache

PHP获取文件夹内文件数的方法_php技巧

本文实例讲述了PHP获取文件夹内文件数的方法.分享给大家供大家参考.具体实现方法如下: function getfilecounts($ff){ $dir = './'.$ff; $handle = opendir($dir); $i = 0; while(false !== $file=(readdir($handle))){ if($file !== '.' && $file != '..') { $i++; } } closedir($handle); return $i; } 希望

安装ImageMagick出现error while loading shared libraries的解决方法_php技巧

本文实例讲述了安装安装ImageMagick出现error while loading shared libraries的解决方法.分享给大家供大家参考.具体解决方法如下: 运行程序时,如遇到像下列这种错误: ./tests: error while loading shared libraries: xxx.so.0:cannot open shared object file: No such file or directory 那就表示系统不知道xxx.so 放在哪个目录下. 这个时候就要

PHP使用内置函数file_put_contents写入文件及追加内容的方法_php技巧

本文实例讲述了PHP使用内置函数file_put_contents写入文件及追加内容的方法.分享给大家供大家参考,具体如下: 以追加形式写入内容 当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据: 复制代码 代码如下: <?php file_put_contents("test.txt", "This is another something.", FILE_APPEND); ?> file_put

php使用simplexml_load_file加载XML文件并显示XML的方法_php技巧

本文实例讲述了php使用simplexml_load_file加载XML文件并显示XML的方法.分享给大家供大家参考.具体实现方法如下: <?php $xml = simplexml_load_file("sample.xml"); echo htmlspecialchars($xml->asXML()); ?> sample.xml文件内容如下 <library> <book> <title>A</title> <

PHP基于文件存储实现缓存的方法_php技巧

本文实例讲述了PHP基于文件存储实现缓存的方法.分享给大家供大家参考.具体如下: 在一些数据库数据记录较大,但是服务器有限的时候,可能一条MySQL查询就会好几百毫秒,一个简单的页面一般也有十几条查询,这个时候也个页面加载下来基本要好几秒了,如果并发量高的话服务器基本就瘫痪了,造成一个页面很久也加载不下来,这个时候我们可以使用文件缓存来缓解下MySQL的压力,下面给个使用例子. <?php //页面业务逻辑处理,获得结果 $objPage = new Page_IndexModel($arrPa

php随机显示指定文件夹下图片的方法_php技巧

本文实例讲述了php随机显示指定文件夹下图片的方法.分享给大家供大家参考.具体如下: 此代码会从指定的服务器文件夹随机选择一个图片进行显示,非常有用,图片格式为.gif,.jpg,.png <?php //This will get an array of all the gif, jpg and png images in a folder $img_array = glob("/path/to/images/*.{gif,jpg,png}",GLOB_BRACE); //Pi