なぜphp関数の結果を取得できなかったのか、誰か教えてください
exec('unzip gallery.zip',$return);
print_r($return);
unzipからの戻り値を確認しましたか?エラーメッセージは標準出力ストリームに表示されないため、何かが失敗した場合、配列は空になります。
<?php
$result = array();
exec("unzip archiv.zip", $result, $returnval);
print_r($result);
print_r($returnval);
?>
解凍は期待どおりに機能しますか?ファイルがすでに存在する場合は、上書きなどを要求され、ワークフローが停止する場合があります。この出力は結果にキャプチャされません。
使用前に変数を初期化しまし$return
たか?
unzip
Unix または Linux を実行している場合、パッケージをインストールしましたか? (Windowsでできるかどうかはわかりません)
エラーは stderr に書き込まれ、exec、backticks、または shell_exec 関数を使用している場合は表示されません。
passthru()は、エラー ストリーム (および stdout) を出力します。
Ps:おそらく次のいずれかです:
ファイルが見つかりません: cwdにgallery.zip
存在します。絶対パスとescapeshellarg()を使用してください。
また
ファイルの権利: PHP は、抽出されたファイルを cwd または指定されたターゲットパスに書き込むことを許可されていますか?