ヘルプ: 画像出力の文字化けの問題
$image='new0.jpg';
$img=getimagesize($image);
//print_r($img);
switch ($img[2]){
ケース 1:
$dimg=imagecreatefromgif($image);
ケース 2:
$dimg=imagecreatefromjpeg($image);
ケース3:
$dimg=imagecreatefrompng($image);
}
header("Content-type:image/jpeg");
imagejpeg($dimg);
?>
上記はソース コードです。このように直接使用すると、
警告: imagecreatefrompng() [function] というメッセージが表示されます。 .imagecreatefrompng] : 'new0.jpg' は E:wampwwwtestimgtest.php 行 11
にある有効な PNG ファイルではありません。 警告 b>: imagejpeg() はパラメータ 1 がリソースであることを予期します。E:wampwwwtestimgtest
で指定されたブール値です。画像タイプはテストされています: Array
(
[0 ] => 479
[1] => 700
[2] => width="479" height="700"
[ビット] => 8
[channel] => 3
[mime] => image/jpeg
)
問題は、switch ステートメントが正常に実行されないようです。なぜ私が常に imagecreatefrompng ステートメントを判断するのか知っていますか?
また、ステートメントを切り替えずに imagecreatefromjpeg を直接実行すると、出力が文字化けします。これはなぜですか?
-----解決策---------
switch ($img[2]){
ケース 1:
$dimg=imagecreatefromgif($image);
ブレーク;
ケース 2:
$dimg=imagecreatefromjpeg($image);
ブレーク;
ケース 3:
$dimg=imagecreatefrompng($image);
ブレーク;
}