本文目录一览:
win下打包的php[zip格式]在linux下解压一行变三行搞不懂
不应该出现这个问题,php 文件的自己编码不影响 zip 。
如果是 php 文件使用了中文文件名,导致 windows 下面压缩,在 Linux 下面压缩出问题。
那我只能说连最起码的规范都没执行:在服务器上要避免使用中文作为文件名。
zip 格式没有编码相关功能支持,Windows 下面的系统默认编码和 Linux 不同的。
如果非要这么传递中文文件名的压缩数据,只能是换个压缩软件试试。不过哪个软件能正常我就不知到了。试试 7z ,rar 吧。
php 是什么是什么
【PHP的简介:】
PHP是一种【后端编程语言】,其主要用于后台数据处理~其英文名称就是(Hypertext Preprocessor)。
【好处】语法吸收了C语言、Java和Perl的特点,【利于学习,使用广泛,主要适用于Web开发领域】。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,【执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。】-phpzip中文
PHP因为他的语法混杂了其他语言的精髓,所以我们学习的难度并不高,并且PHP能够做到许多其他语言做不到的事情,例如PHP自带SHA和MD5的加密库,可以添加zip库,可以添加mysqli库,这些操作以往我们使用其他语言需要自己编写函数编写框架的,PHP中就可以直接实现了。现在许多网站使用的都是PHP这一个后台语言。-phpzip中文
【PHP的具体好处:】
库多,有zip库,mysqli库,SQL库,等等
语法简介,同C++同C同Java基本一致~方便学习
安全~因为PHP的源码是开源的,所以大家都纷纷研究加密程序~
方便使用,PHP是跨平台的一门语言~
环境容易安装,例如macOS,系统自带PHP
【图:PHP的库的数量】
【PHP的具体用处:】
用于数据库操作,包括录入,导出,修改,删除等数据库操作
用于系统操作,调用系统程序,PHP中有system函数,可以直接调用命令行,包括Windows和UNIX,等等。
用于网页优化,例如加密等,PHP自带加密字符串功能,方便使用
PHP在实际中的例子:
Tencent全部后台基本使用PHP+CPP的架构
就是那个比较恶心的全世界第一的网站的架构也是PHP
WordPress就是PHP的CMS模版
ThinkPHP,同上为CMS的模版
【图:PHP的实际用处】
【黑莓】
【Facebook】
参考了本人的另外一个回答:网页链接
zip密码 php
用PHP的zip模块进行压缩加密.
开始
$zipArc = new \ZipArchive();if ($zipArc-open('/home/test.zip', ZipArchive::CREATE | ZipArchive::OVERWRITE) === true) { //设置密码 注意此处不是加密,仅仅是设置密码-phpzip中文
if (!$zipArc-setPassword('password')) { throw new RuntimeException('Set password failed');-phpzip中文
} //往压缩包内添加文件
$zipArc-addFile('/home/test.png', '1/test.png'); //加密文件 此处文件名及路径是压缩包内的
if (!$zipArc-setEncryptionName('1/test.png', ZipArchive::EM_AES_256)) { throw new RuntimeException('Set encryption failed');-phpzip中文
}
}
$zipArc-close();
注意事项
1 PHP7.2以下不支持加密
php7.2 以下是不支持加密的,我们看一下php官方文档中的解释
从PHP 7.2.0和libzip 1.2.0开始,密码用于解压缩归档,也是ZipArchive :: setEncryptionName() 和ZipArchive :: setEncryptionIndex()的默认密码。-phpzip中文
以前,此功能仅设置用于解压缩存档的密码; 它没有将非密码保护的ZipArchive 变成受密码保护的ZipArchive。
也就是说php7.2之前,setPassword('password')这个方法仅仅是设置setEncryptionName()和setEncryptionIndex()的默认密码,却没有进行加密操作!!!,就问你坑不坑!!-phpzip中文
2 方法找不到
提示没有setEncryptionName和setEncryptionIndex方法时,请编译时zip模块时用以下参数
--with-libzip
--enable-zip
3 目录结构问题
待压缩的文件目录,比说说是/home/test/a.png
压缩后,你发现压缩包内的目录结构是/home/test/a.png,
也就是说压缩包原封不动的保持了原来文件的目录.可是我们想自定义压缩包目录怎么办呢?
$a = '/home/test.png';
$b = '1/test.png';//$a是待添加的文件路径 $b是压缩包内的路径$zipArc-addFile($a, $b);