欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-16 12:54:39
...
如何在PHP中创建压缩的RAR文件?

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

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

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

$obj = new COM("server.object")

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

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,RAR文件