使用PHP创建映像并将其存储在服务器文件夹中

时间:2016-10-11 14:50:29

标签: php imagejpeg

解决问题!!!

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

  2. 图片文件夹没有斜线“images / fb /”

  3. 同样适用于imagecolorallocate imagecolorallocate($im, 142, 011, 029)三位RGB以获得正确的输出。

  4. 所以,这个和完整代码的答案在下面给出

    <?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中尝试这个。

    任何建议都将不胜感激......

1 个答案:

答案 0 :(得分:1)

您将图片创建为$im,然后尝试将其另存为.$my_img

更改此内容:imagejpeg($my_img, $save, 0);

收件人:imagejpeg($im, $save, 0);