を発行し、ユーザーは、サーバー上で処理され、保存されますPDFファイルの束を含む単一のzipファイルをアップロードすることができますどこで一括アップロード機能を作成しようとしているなどPHP ZIPARCHIVE extractToので
ので、これまで私はこれを持っている...
$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']);
}
私が見ている問題は、(1)、私は明らかに、抽出されたファイルが表示されないextractTo
関数が成功した抽出として返すにもかかわらず、ということです!
私はそれが正しくアップロードされている知っているので、私はいつも私が間違ってやっているのと任意のアイデア...
-rwxr-xr-x 1 nginx nginx 68512374 May 4 12:39 Archive.zip
をArchive.zip
ファイルを参照してください! : -/
ENVIRONMENT:エラーをスローしません下記の(完全修飾パス付き) CentOSに6 PHP 5.3.3
UPDATE
を実行し、ちょうど任意の並べ替えを行うにはいないようです抽出の?
$zip->extractTo($serverpath . '/customerdata/tmp_invoices/');
(相対パスで)以下、Warning: ZipArchive::extractTo(): Permission denied in...
エラーをスロー!
$zip->extractTo('/customerdata/tmp_invoices/');
乾杯のみんなその同様の問題を有することに起因するこの質問を見つけるあなたのそれらのために