php所有引入文件路径,ZipArchive PHP只添加整个路径中没有目录的文件

研究员:

讨厌问这个问题,我相信正确回答了两次:

所以问题是:当解压缩下载的’file.zip’时,解压后,它包含路径中的所有文件夹,即使很难,我在addFile函数中指定了本地文件.我希望zip文件不包含任何子文件夹,只包含文件.

$zipname = str_replace(' ','_',$obj['Name']) . '.zip';

$zip = new ZipArchive();

$zip->open($zipname,ZipArchive::CREATE);

foreach ($files as $file) {

// $file looks like this: webroot/uploadify/files/file.jpg

$zip->addFile($file,pathinfo($file,PATHINFO_BASENAME));

}

$zip->close();

header('Content-Description: File Transfer');

header('Content-Transfer-Encoding: binary');

header('Cache-Control: must-revalidate,post-check=0,pre-check=0');

header("Content-type: application/zip");

header("Content-Disposition: attachment; filename=" . $zipname);

header("Pragma: no-cache");

header("Expires: 0");

header('Content-Length: ' . filesize($zipname));

readfile($zipname);

谁能看到这个代码有什么问题?

附加信息:

我,ofc,使用相对于webroot的路径,但在提取的文件夹中的文件夹层次结构之后:

提取到文件 – > ‘my_file.zip’

是C-> xampp-> htdocs-> my_cakePHP_web_app-> app-> webroot->文件,这不是我想要实现的:)

PHP 5.4.4

Windows XP,XAMPP

编辑

尝试使用http://www.phpconcept.net/pclzip/库并遇到了同样的问题.

在我的家用电脑(win7)上,这段代码运行良好.

这提出了一个问题:我不知道有任何我应该满足的设置吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值