imagejpeg
(PHP 4, PHP 5, PHP 7, PHP 8)
Output
Description
imagejpeg() creates a JPEG file from the given image.
Parameters
filePath
qualityqualityis optional, and ranges from 0 (worst quality, smaller file) to 100 (best quality, biggest file). The default (-1) uses the default IJG quality value (about 75).
Return Values
Success
Trueonerror
Errors/Exceptions
Throws a ValueError if quality is invalid.
Changelog
| Version | Description |
|---|---|
| 8.4.0 | Now throws a ValueError if quality is invalid. |
Examples
Outputting a JPEG image to the browser
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Output the image
imagejpeg($im);
?>The above example will output something similar to: Output of example : Outputting a JPEG image
Saving a JPEG image to a file
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Save the image as 'simpletext.jpg'
imagejpeg($im, 'simpletext.jpg');
?>Outputting the image at 75% quality to the browser
<?php
// Create a blank image and add some text
$im = imagecreatetruecolor(120, 20);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 5, 5, 'A Simple Text String', $text_color);
// Set the content type header - in this case image/jpeg
header('Content-Type: image/jpeg');
// Skip the file parameter using NULL, then set the quality to 75%
imagejpeg($im, NULL, 75);
?>Notes
If you want to output Progressive JPEGs, you need to set interlacing on with imageinterlace().