-2

問題を解決しました!!!

  1. モニが言ったように、私は3つのパラメータをに渡す必要がありますがimagejpeg、小さな修正ではありません。高品質の写真を得るには、画質が100でなけれimagejpeg($im,$save,0)なりません。imagejpeg($im,$save,100)

  2. 画像フォルダはスラッシュ「images/fb/」なし

  3. また、imagecolorallocate imagecolorallocate($im, 142, 011, 029)3桁のRGBが適切な出力を得るためにも。

したがって、これに対する答えと完全なコードを以下に示します

<?php
// Create image with 2 line of text
$im = imagecreatetruecolor(600, 300);
$text_color = imagecolorallocate($im, 142, 011, 029);
imagestring($im, 10, 5, 5,  'Some Text String', $text_color);
imagestring($im, 10, 5, 50,  'Some Text String 2', $text_color);

// Set the content type header as image/jpeg
header('Content-Type: image/jpeg');

// Output the image
//imagejpeg($im);    //up-to this point its working well 

$name="test2";
$save = "images/fb/". strtolower($name) .".jpeg";
imagejpeg($im, $save, 100);   //Saves the image
imagejpeg($im);              //Displays the image

// Free up memory
imagedestroy($im);
?>

問題

私が抱えているこの問題を解決するのを手伝ってください、

PHPで画像を作成しようとしていて、作成した画像をフォルダー内に保存しようとすると、画像は表示されましたが、フォルダーに保存を追加するとエラーが発生します。以下は私が試したコードです。

<?php
// Create image with 2 line of text
$im = imagecreatetruecolor(600, 300);
$text_color = imagecolorallocate($im, 142, 11, 29);
imagestring($im, 10, 5, 5,  'Some Text String', $text_color);
imagestring($im, 10, 5, 50,  'Some Text String 2', $text_color);

// Set the content type header as image/jpeg
header('Content-Type: image/jpeg');

// Output the image
//imagejpeg($im);    //up-to this point its working well 

$name="test";
$save = "/images/fb/". strtolower($name) .".jpeg";

imagejpeg($im, $save, 0, NULL);

// Free up memory
imagedestroy($im);
?>

以下は私が得ているエラーです

The image "path" cannot be displayed because it contains errors.

私のフォルダ構造は

->www
  -> projectFolder 
   -> subFolder
      ->phpFile
      ->imageFolder (images)
        ->imageSubFolder (fb)

私も試してみましchmodたが、Localhostでこれを試しているので、許可は問題ではないようです。

アドバイスをいただければ幸いです...

4

1 に答える 1

1

として画像を作成し$im、次にそれを保存しようとします.$my_img

これを変える:imagejpeg($my_img, $save, 0);

に:imagejpeg($im, $save, 0);

于 2016-10-11T15:02:33.720 に答える