--- layout: page title: PHP - HTML to Image Example parent: Example code permalink: /example-code/php/ description: >- Convert HTML to an image (png, jpg or webp) with PHP + the HTML/CSS to Image API. Renders exactly like Google Chrome. --- {% include intro.md language="PHP" %} ```php {% include_snippet everything from snippets/plain_php.php %} ``` ## PHP example with Guzzle library Using an HTTP library such as [Guzzle](https://github.com/guzzle/guzzle) can simplify your code even further. Here's an example of how to use the HTML/CSS to Image API with Guzzle. Installation instructions for Guzzle are [here](https://github.com/guzzle/guzzle#installing-guzzle). ```php Pong ✅"; $css = ".ping { padding: 20px; font-family: 'sans-serif'; }"; $client = new GuzzleHttpClient(); // Retrieve your user_id and api_key from https://htmlcsstoimage.com/dashboard $res = $client->request('POST', 'https://hcti.io/v1/image', [ 'auth' => ['user_id', 'api_key'], 'form_params' => ['html' => $html, 'css' => $css] ]); echo $res->getBody(); // {"url":"https://hcti.io/v1/image/5803a3f0-abd3-4f56-9e6c-3823d7466ed6"} ?> ``` The code turns out to be a bit more readable and less complex when using Guzzle. A great option if you're open to adding the library to your project. ## Debugging Error:SSL certificate problem: unable to get local issuer certificate When running this script on a Windows machine, it's possible you'll get an SSL error. The fix for this [is here](https://stackoverflow.com/questions/28858351/php-ssl-certificate-error-unable-to-get-local-issuer-certificate/32095378#32095378). {% include code_footer.md version=2 %}