因此,我正在尝试创建批量上传功能,用户可以上传包含大量PDF的单个zip文件,然后将其处理并存储在服务器上等.
到目前为止我有这个……
$serverpath = $_SERVER['DOCUMENT_ROOT']; if(array_key_exists('bulk_filename',$_FILES)){ if ($_FILES['bulk_filename']['error'] === UPLOAD_ERR_OK) { $file_name = $_FILES['bulk_filename']['name']; $new_zip_file = $serverpath . '/customerdata/tmp_invoices/' . $file_name; move_uploaded_file($_FILES['bulk_filename']['tmp_name'],$new_zip_file); // zip file is coming in as "-rw-r--r--" and should be "-rwxr-xr-x" exec('chmod -R 755 ' . $serverpath . '/customerdata/tmp_invoices/' . $file_name); // Extract the files from zip $zip = new ZipArchive; $res = $zip->open($new_zip_file,ZipArchive::OVERWRITE); if ($res !== true) { die("Cannot open {$new_zip_file} for writing!"); } else{ $res = $zip->extractTo($serverpath . '/customerdata/tmp_invoices/'); $zip->close(); //////////////////////////////////////////// // I ALWAYS REACH THIS CODE BLOCK // and $res always equals 1/true //////////////////////////////////////////// } } else die("Upload Failed with error code " . $_FILES['bulk_filename']['error']); }
我看到的问题是,即使extractTo函数作为一个成功的提取(1)返回,我也看不到那些显然被提取的文件?!
-rwxr-xr-x 1 Nginx Nginx 68512374 May 4 12:39 Archive.zip
关于我做错了什么的任何想法?! : – /
环境:运行PHP 5.3.3的Centos 6
UPDATE
下面(使用完全限定的路径)不会抛出任何错误,只是似乎没有做任何提取?!
$zip->extractTo($serverpath . '/customerdata/tmp_invoices/');
下面(带相对路径),抛出一个警告:ZipArchive :: extractTo():权限被拒绝…错误?!
$zip->extractTo('/customerdata/tmp_invoices/');
干杯伙计们
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。