Save the output image into a different directory,

2019-08-26 10:21发布

问题:

This question already has an answer here:

  • creating an image in php, display works, saving to file does not 4 answers

Let say I have this code in my "image.php" file that will create a new GD image stream and output an image:

header ('Content-Type: image/png');
$im = @imagecreatetruecolor(120, 20)
      or die('Cannot Initialize new GD image stream');
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5,  'A Simple Text String', $text_color);
imagepng($im);
imagedestroy($im);

Here's my sample diagram:

file -> /root/template/program/image.php

directory -> /root/template/images

How can I save the outputted image of "image.php" into the "/images" directory, with a different filename and extension like "file.png"?

回答1:

filename parameter
The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.

I found a solution, just add a second parameter filename to the imagepng() function:

imagepng($im, '../images/file.png');