5

なぜphp関数の結果を取得できなかったのか、誰か教えてください

exec('unzip gallery.zip',$return);
print_r($return);
4

3 に答える 3

6

unzipからの戻り値を確認しましたか?エラーメッセージは標準出力ストリームに表示されないため、何かが失敗した場合、配列は空になります。

<?php
    $result = array();
    exec("unzip archiv.zip", $result, $returnval);
    print_r($result);
    print_r($returnval);
?>

解凍は期待どおりに機能しますか?ファイルがすでに存在する場合は、上書きなどを要求され、ワー​​クフローが停止する場合があります。この出力は結果にキャプチャされません。

于 2010-06-02T11:14:33.830 に答える
0

使用前に変数を初期化しまし$returnたか?

unzipUnix または Linux を実行している場合、パッケージをインストールしましたか? (Windowsでできるかどうかはわかりません)

于 2010-06-02T09:34:26.353 に答える
0

エラーは stderr に書き込まれ、exec、backticks、または shell_exec 関数を使用している場合は表示されません。

passthru()は、エラー ストリーム (および stdout) を出力します。

Ps:おそらく次のいずれかです:

ファイルが見つかりません: cwdgallery.zip存在します。絶対パスとescapeshellarg()を使用してください。

また

ファイルの権利: PHP は、抽出されたファイルを cwd または指定されたターゲットパスに書き込むことを許可されていますか?

于 2010-06-05T12:37:04.987 に答える