0

これは、zipをアップロードしてある場所でzipを抽出しようとしているコードです-

//Path where extracted files to be stored, path is correct already checked
$path = Mage::getBaseDir(). DS .'pdf_locator'. DS;

$zip = new ZipArchive;
echo "<pre>";print_r($_FILES);
echo $_FILES['filename']['name'];

$name = $_FILES['filename']['name'];
$res = $zip->open("$name");//File name in server.
echo " --- ", $res, " --- ";
die;
if ($res === TRUE) {
    $zip->extractTo($path);//Destination directory
    $zip->close();
    echo 'successfully extracted';
} else {
    echo 'failed';
}

出力 --

Array
(
    [filename] => Array
        (
            [name] => swap.zip
            [type] => application/zip
            [tmp_name] => /tmp/phpqx2qH2
            [error] => 0
            [size] => 478441
        )

)
swap.zip --- 11 --- 

期待していましたが、[ドキュメントから]TRUEエラー コードがスローされています。11コードで何が間違っているのか教えてください。

参考までに - Zip が有効になっています。スクリーンショットを確認してください。

郵便番号

4

1 に答える 1

2

サーバー上にあるファイルの「tmp_name」を取得してアーカイブを開く必要があると思いますか?

$name = $_FILES['filename']['name'];

このように見えるべきですか?

$name = $_FILES['filename']['tmp_name'];

私が間違っている場合: ファイル システムのアクセス許可 (r/w/x) を確認しましたか?

于 2013-06-25T10:26:56.543 に答える