0

こんにちは、パスワードで保護されたzipファイルを作成するために次のコードを使用しています

$password = 'pass';
$outfile = 'download.zip';    
$infile = 'xml.php';    
header("Content-type: application/octet-stream");   
header("Content-disposition: attachment; filename=$outfile");    
@system("zip -P $password $outfile $infile");    
readfile($outfile);    
@unlink($outfile);

しかし、それは機能していません。

4

2 に答える 2

1

同じコードが私のために働いています。これを最初に実行したとき、許可エラーが発生しました。フォルダーに許可を与えると、機能しました。フォルダーのアクセス許可を確認することもできます。それはあなたにも役立つかもしれません。

于 2013-03-04T08:22:11.603 に答える
0

あなたの例がばかげていて、パスワードがどこか他の場所から来ていると仮定すると(多分ユーザー入力?)、システムコールは安全ではありません!シェルにとって意味のある文字が含まれていると、望ましくない結果が得られます。必ずescapeshellargを使用してパラメーターをエスケープしてください:http://php.net/manual/en/function.escapeshellarg.php

于 2013-03-04T08:37:34.163 に答える