-2

解决了问题!!!

  1. 正如莫尼所说,我需要将 3 个参数传递给imagejpeg小校正,它不imagejpeg($im,$save,0)应该是imagejpeg($im,$save,100)图像质量必须为100才能获得高质量的图片

  2. 图像文件夹没有斜杠“images/fb/”

  3. 也为imagecolorallocate imagecolorallocate($im, 142, 011, 029)三位数的 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 回答