如何在PHP中创建压缩的RAR文件?

黄舟
发布: 2017-05-20 17:06:08
原创
3236人浏览过

如何在php中创建压缩的rar文件?

在网站中,上传文件大多数都是以压缩包形式存在的,所以我们首先必须要将上传的文件压缩后才能够上传,那么我们如何实现网站中上传文件的自动压缩功能呢?今天就给大家详细介绍一下!

文件压缩主要应用PHP 的预定义类 com,将wscrip.shell 对象作为 com类的参数,最终通过调用 com类的 run()方法实现文件的压缩。

com 类提供了一个将 COM组件整合到 PHP 脚本中的框架,实例化方法如下:

$obj = new COM("server.object")
登录后复制

com类构造函数的语法如下:

立即学习PHP免费学习笔记(深入)”;

string COM::COM( string module_name [, string server_name [, int codepage]] )
登录后复制

参数说明:

module_name:被请求组件的名字 或者 class-id。

server_name   :DCOM 服务器的名字,组件在此服务器上被取用,如果是NULL,那么假定是loaclhost。如果要支持允许DCOM,那么必须将 php.ini 中的 com.allow_dcom设置为 TRUE。

codepage:指定用于将PHP 字符串(php-string)转换成UNICODE 字符串(unicode-strings)的代码页,反之亦然。可用的值有CP_ACP , CP_MACCP , CO_OEMCP ,  CP_SYMBOL , CP_THREAD_ACP, CP_UTF7以及CP_UTF8。

com类中的 run()方法的语法格式如下:

run("winrar a 生成的 rar 文件的路径及名称 要压缩的文件的路径以及名称",1,false);
登录后复制

应用实例

本实例中讲解在PHP中如何创建  RAR文件,具体步骤如下:

(1)创建PHP页面,首先创建一个表单,设置文件域,提交要压缩的文件,设置文本框,提交压缩文件的存储位置,设置按钮,完成表单元素的提交操作。

(2) 在php文件中编写 PHP脚本,通过post方法获取表单提交的数据,通过iconv()函数完成数据编码格式的转换,实例化 com类,调用 run()方法完成文件的压缩操作。

其代码如下:

<?php
header("Content-Type:text/html; charset=utf-8");
if ($_POST['Submit']){
    $sourcefile = iconv("utf-8","gb2312",$_POST['sourcefile']);  //获取指定文件的路径
    $objfile = $_POST['objfile']."\".time();                    //定义压缩文件的存储位置和名称
    $objfile = iconv("utf-8","gb2312",$objfile);                  //实现编码转换
    $obj= new COM("wscript.shell");                               //实例化 com类
    $obj -> run("winrar a".$objfile."".$sourcefile."",1,false);   //调用类中的方法
    echo "<script>alert('文件压缩完成!');</script>";
}
?>
登录后复制

运行本实例,首先选择要压缩的文件,然后设置压缩文件的存储位置,单击“提交”按钮,就完成了!

注意:

在执行文件压缩操作时,切记在文件的存储路径中不要出现空格(包括被压缩文件的路径、名称一级压缩文件的存储路径),否则压缩操作将不会正确执行!

到这里我们就介绍完如何在PHP中创建压缩的RAR文件了,小伙伴们都掌握了吗?

以上就是如何在PHP中创建压缩的RAR文件?的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号