2011-09-13 11 views
3

ImageMagickを使用してRAWファイル(* .nef拡張子)をJPEG画像に変換しています。私は実際にはPHP内でこれをやっていますが、IMagick拡張機能を使用していません(私はあまりにも多くの時間を費やして壁を叩いて、最終的にはあきらめました)。代わりに、PHPのexec()関数を使用して、ImageMagickをコマンドラインから呼び出し、そこで操作を行います。このエラーをImageMagickで解決するにはどうすればよいですか?

とにかく、NEFイメージをJPEGイメージに変換するための簡単なPHPスクリプトを作成しました。私はいくつかのテストを通してそれを実行しました。 JPEGが存在しなかった場合、JPEGが作成されました。 JPEGがすでに存在していた場合、それを上書きしました。完璧!

今日まで。私は先週金曜日にそのスクリプトを作った。今日(月曜日)、それを使用しようとすると、動作を停止しました。私は文字通り変更何もそれについて、しかし数日後、私は金曜日に実行されたすべての同じテストに失敗している。私は、コマンドラインからの出力を取り出すことができ、これらは、それが周りにこの時間に遭遇していますエラーです:これらのエラーは、金曜日に現れなかった

Magick: `%s' (%d) dcraw.exe -4 -w -O "C:/Windows/TEMP/magick-iDvVnHw-.ppm" "C:/Windows/TEMP/magick-hYeYwWRd" @ error/utility.c/SystemCommand/2094. 
Magick: delegate failed `dcraw.exe -4 -w -O "%u.ppm" "%i"' @ error/delegate.c/InvokeDelegate/1058. 
Magick: unable to open image `C:/Windows/TEMP/magick-iDvVnHw-.ppm': No such file or directory @ error/blob.c/OpenBlob/2588. 
Magick: missing an image filename `E:\test.jpg' @ error/convert.c/ConvertImageCommand/3015. 

。なぜ彼らは現れているのですか?彼らはどういう意味ですか?そして私はそれらについて何ができますか?前もって感謝します。

答えて

0

さて、私はそれを解決することができました。私は2つのことをしました。最初のことが影響を及ぼしているかどうかは完全にはわかりませんが、苦労している人は誰もが言及します。まず、一時ファイルに問題があるように見えたので、C:\Windows\TEMPフォルダのWindowsセキュリティ/アクセス許可をと同様にEveryoneを明示的に許可するように変更しました。

さらに重要なことに、私はexec()に渡すコマンドを変更しました。

$cmd = 'C: & "C:\\Program Files (x86)\\ImageMagick\\convert.exe" '; 
$cmd .= '"E:\\test.nef" "E:\\test.jpg" 2>&1'; 
exec($cmd, $output, $return); 

だから代わりに、私は新しい「一時」ディレクトリを指定し、現在のパスを設定し、そのような:

$cmd = 'SET MAGICK_TMPDIR=E:\\Temp&SET path=C:\\Program Files (x86)\\;%path%& '; 
$cmd .= '"C:\\Program Files (x86)\\ImageMagick\\convert.exe" '; 
$cmd .= '"E:\\test.nef" "E:\\test.jpg" 2>&1'; 
exec($cmd, $output, $return); 

そして、それはトリックをしたこれまでの私のコマンドは、このような何かを見て!スクリプトは再び動作しています。

2

私はLinux上で同様のエラーだった:私はフォルダに行き、文字なしでシンボリックリンクを作成し

images/1/14/Ministerium-für-Bildung.jpg 

:問題は私のドイツ語もPictureNameに特殊文字だった

No such file or directory @ error/blob.c/OpenBlob/2709. convert: no images defined `/tmp/transform_5c88983-1.jpg' @ error/convert.c/ConvertImageComman 

ln -s Ministerium-für-Bildung.jpg Ministerium-fr-Bildung.jpg