1

このクラスを使用して、画像のトリミングとサイズ変更を行います: http ://www.phpclasses.org/package/4268-PHP-Resize-crop-rotate-flip-flop-and-grey-images.html

GDを使用しています。問題は、たとえば私がこれを行うことです:

$img = new ImageTransform;
$img->view('resize', 'foo.jpg', '500x400', true); // true argument is $cache = true

今、私はただ指すことができます

<img src="that_script.php" alt="" />
画像のサイズが変更されたことが表示されます。しかし、すべてのファイルがUTF-8である場合はそうではありません!それらがすべてANSIエンコードされている場合のみ。一部またはすべてのファイルがUTF-8でエンコードされている場合、画像は表示されません。ヘッダーを削除して、すべてのものを印刷させると...面白い文字がすべて表示されます...何かを印刷しています!ただし、実際の画像をヘッダー付きで印刷することはできません...

PHPのドキュメントで、誰かがこれを書いているのを見つけました:http: //no.php.net/manual/en/function.imagejpeg.php#96796

utf-8スクリプトを使用する人への警告:私のように一日中夢中になり、構成ファイルなどを掘り下げる前に。

image_jpegを使用したダイレクトブラウザ出力は、utf-8ではなくANSIでスクリプトを保存した後にのみ機能しました

それで、それはPHPに何か問題があるに違いありませんか?私はPHPバージョンを使用しています:5.3.2

PHPClassesの誰もが何か問題について不平を言っていないので、それがクラスではないと思います。しかし、PHPには何かがあります。問題は、UTF-8でどのように機能させることができるかということです。

手伝ってくれてありがとう!

4

1 に答える 1

2

ファイルをUTF8BOMとして保存している可能性があります?BOM文字が常に最初に出力されるため、画像出力が台無しになる可能性があります。それをUTF8No-BOMとして保存してみてください。これは、ANSIファイルと同じである必要があります。

于 2010-07-03T01:55:14.087 に答える