2012-05-11 6 views
0

私はImageMagickを取得して、PDFファイルのページ数をカウントします。次のように関数は次のとおりです。PHP exec ImageMagickは常に0を返します

<?php 
function countPdfPages($filepath) 
{ 
    $magick = "identify -format %n ".$filepath; 
    exec($magick, $debug, $result); 
    return $result; 
} 
?> 

しかし、その関数は常に0を返します。私はImageMagickが正しく動作していることを確認したので、問題ではありません。 exec()を正しく使用していませんか?出力を別の方法で取得する必要がありますか?私も$debugを使ってみましたが、それは私には何の出力も与えませんでした。

私はここで何か愚かなことをしていますが、私はそれを見ません。誰かが私に正しい方向へのプッシュを与えることができますか?ありがとう!

答えて

1

the man pageで述べたように、execは三番目の引数を介して実行されたコマンドの戻りステータスを提供します。 0の値は、正常に終了したことを意味します。 popenのようなものを使用しているはずです。

ここfread man pageの例3から持ち上げ例です(popenを使用する編):

<?php 
// For PHP 5 and up 
$handle = popen("identify -format %n myfile.jpg", "r"); 
$contents = stream_get_contents($handle); 
pclose($handle); 
// $contents is the output of the 'identify' process 
?> 
+0

PFF、当たり前。もう一度マイナーなものを見落とした、ありがとう!しかし、正直言って、それを使ってImageMagickが返す値をどうやって得ることができないのか、私は控えめではありません。ここでもう少し私を助けることができると思いますか?どうもありがとうございます! – Fang

+0

そのmanページにExample#3のようなものが必要です。私はそれを私の答えに加えます。 – jrennie

+0

奇数...私がそれを呼び出して 'return $ contents;'を返すと、何も返されません。値なし、エラーなし、何もありません。 (そして、はい、私はPHP5を実行しています。) – Fang

関連する問題