Loads a PNG file into a GdImage.
What It Does
imagecreatefromstring() decodes bytes; this function expects a file or wrapper path. Maintain alpha settings when saving PNGs containing transparency.
Requirements and Compatibility
GD extension. Sample images and fonts referred to by filename must be supplied locally. Use PHP 8 GdImage objects where applicable; optional decoders depend on the installed build.
Syntax, Inputs and Results
The arguments shown below are concrete values for this function; their types and ranges matter. The example checks return data rather than assuming that every operation succeeds.
Example 1: Basic Use
Call the function with a concrete input and inspect its result.
<?php
if (!extension_loaded('gd')) throw new RuntimeException('GD extension required');
if (!is_file(__DIR__ . '/logo.png')) throw new RuntimeException('Provide the sample file /logo.png');
$image = imagecreatefrompng(__DIR__ . '/logo.png');
if (!$image instanceof GdImage) throw new RuntimeException('Unable to create image');
echo imagesx($image), ' x ', imagesy($image);
Example 2: Another Case
Change the inputs to observe the behavior on another case.
<?php
if (!extension_loaded('gd')) throw new RuntimeException('GD extension required');
if (!is_file(__DIR__ . '/banner.png')) throw new RuntimeException('Provide the sample file /banner.png');
$image = imagecreatefrompng(__DIR__ . '/banner.png');
if (!$image instanceof GdImage) throw new RuntimeException('Unable to create image');
echo imagesx($image), ' x ', imagesy($image);
// Ensure the source is an actual file of the advertised format.
Practical Example
Use the result to create an output, validate a condition, or complete an image workflow.
<?php
if (!extension_loaded('gd')) throw new RuntimeException('GD extension required');
if (!is_file(__DIR__ . '/banner.png')) throw new RuntimeException('Provide the sample file /banner.png');
$image = imagecreatefrompng(__DIR__ . '/banner.png');
if (!$image instanceof GdImage) throw new RuntimeException('Unable to create image');
echo imagesx($image), ' x ', imagesy($image);
imagepng($image, __DIR__ . "/decoded-imagecreatefrompng.png");
For production, apply the compatibility and edge-case limits described below.
Important Behavior and Edge Cases
Maintain alpha settings when saving PNGs containing transparency.
Comparison with Related Functions and Tools
| Subject | Key difference |
|---|---|
| imagecreatefrompng() | imagecreatefromstring() decodes bytes; this function expects a file or wrapper path. |
Common Beginner Mistakes
| Mistake | Correct approach |
|---|---|
| Calling imagecreatefrompng() without its required input or supported extension | Check the extension, supply valid arguments, and handle false or exceptions according to the function. |
| Assuming imagecreatefrompng() guarantees a valid or safe image | Maintain alpha settings when saving PNGs containing transparency. |
| Confusing the operation with a related API | imagecreatefromstring() decodes bytes; this function expects a file or wrapper path. |
Key Takeaways
- Loads a PNG file into a GdImage.
- Maintain alpha settings when saving PNGs containing transparency.
- Choose the companion API described in the comparison table when the job differs.
Use these examples as a starting point, then validate the result with the actual PHP build, dependencies and inputs used by your application.