LoginSignup
0
0

ZipArchiveのopenの結果が分かり難い時のメモ

Posted at

openの結果が分かり難い

ZIPをopenしようとしたけど、エラーになる。
そこで、結果を出力すると以下の様になってします。

example.php
    $zip = new ZipArchive;
	$res = $zip->open($filename);
    echo 'result: ', $res, "\n";
    // result: 1

定数の値が何か分からない

仕方ないので、PHPのドキュメント見に行くと、今度は定数の説明はあるがその定数の値が何か分からない。

結論

マップを作った。

zip_reason.php
<?php
const ZIP_REASON = [
	'ER_OK',
	'ER_MULTIDISK',
	'ER_RENAME',
	'ER_CLOSE',
	'ER_SEEK',
	'ER_READ',
	'ER_WRITE',
	'ER_CRC',
	'ER_ZIPCLOSED',
	'ER_NOENT',
	'ER_EXISTS',
	'ER_OPEN',
	'ER_TMPOPEN',
	'ER_ZLIB',
	'ER_MEMORY',
	'ER_CHANGED',
	'ER_COMPNOTSUPP',
	'ER_EOF',
	'ER_INVAL',
	'ER_NOZIP',
	'ER_INTERNAL',
	'ER_INCONS',
	'ER_REMOVE',
	'ER_DELETED',
];
/**
 * Zipのopenのエラーコード名を取得する
 * @param {int} $code リザルトコード
 * @return string エラー名
 */
function getZipReason($code): string {
	return ZIP_REASON[$code] ?? 'undefined';
}

ソース

リンクから直接ソース単体をダウンロードできる方法は無いのだろうか…。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0