初投稿になります。
よろしくお願いいたします。
前提・実現したいこと
PHPでexcelファイルをパスワード付きでzip圧縮したいです。
excelファイルは、日本語表記で「テスト.xls」となっており、そのまま圧縮すると文字化けします。
mb_convert_encodingでエンコードを変換した後に、パスワード付きzip圧縮を行いたいと考えております。
発生している問題・エラーメッセージ
エンコードを変換した後で、パスワード付きzip圧縮を行うとパスワード付きでないzip圧縮が行われてしまいます。
パスワード付きでないzip圧縮を行うコードに修正後、エンコードを変換した後にzip圧縮を行うと問題なく出来ます。
該当のソースコード
if ($zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$path_file_encode = mb_convert_encoding('テスト.xls','sjis-win', 'UTF-8');
$zip->setPassword('secret');
$zip->addFile($path_file_encode);
$zip->setEncryptionName($path_file_encode, ZipArchive::EM_AES_256);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
補足情報(FW/ツールのバージョンなど)
XAMPP for Windows 7.4.8
あなたの回答
tips
プレビュー