Code Snippets PHP

How to get current directory, filename and code line number in PHP


Post-processing of the image failed – WordPress

PHP Log: [17-Dec-2021 00:59:19 UTC] PHP Fatal error: Maximum execution time of 300 seconds exceeded in \site\wp-includes\functions.php on line 8179

WP Admin Error: Post-processing of the image failed likely because the server is busy or does not have enough resources. Uploading a smaller image may help. Suggested maximum size is 2500 pixels.

Som e info about a directory cache, and multisite, added 5.6.0:

I simply went to the function that line 8179 of wp-includes/functions.php is in and added a return statemnt as the firsat line of the function. Short term solutuion – dunno if it causes other issues, but my uploader works again. function clean_dirsize_cache( $path ) { … }

Dev Console:
Failed to load resource: the server responded with a status of 524 () asynch-upload.php wordpress multisite


Web.config Basics – What is it?

What is a Web.config file? How do you edit a Web.config file? Here are some Web.config Basics. A Web.config file is used to configure various settings for a website running on Microsoft IIS. It is structured using XML in a file that is separate then your website/application’s code. You can have a single Web.config, or several spread throughout folders on your site – they can assign different permissions, references, application variables, setup caching, and more!

Editing Web.Config in IIS 7
Code Snippets General PHP Wordpress

[] operator not supported for strings – PHP

I had a problem with Revolution Slider on a WordPress installation when upgrading to PHP 7.2+. It would generate the error – PHP Fatal error: [] operator not supported for strings in C:[path]\wp-content\plugins\revslider\includes\framework\base-admin.class.php:71

The problem was from the plugin attempting to use the short array push syntax on a string:

$box = array();
$box['title'] = $title;
$box['location'] = $location;
$box['content'] = $content;
$box['draw_function'] = $customDrawFunction;
self::$arrMetaBoxes[] = $box;

The solution was to modify the last line as such:

self::$arrMetaBoxes = $box;

No explosions, so all is well!

Why was the operator not supported?

A discussion on Stack Overflow gave me a nudge in the right direction. The suggestion was that PHP 7 has problems with empty-index array push syntax.

These are ok and work properly in PHP 7+.

$undeclared_variable_name[] = 'value'; // creates an array and adds one entry

$emptyArray = []; // creates an array
$emptyArray[] = 'value'; // pushes in an entry

An attempt to use empty index push on any variable declared as a string, number, object, etc, doesn’t works however. ie

$declaredAsString = '';
$declaredAsString[] = 'value';

$declaredAsNumber = 1;
$declaredAsNumber[] = 'value';

$declaredAsObject = new stdclass();
$declaredAsObject[] = 'value';

Theses examples all fail with a PHP error, which in my case was “[] operator not supported for strings”

For more PHP related posts, check here

Code Snippets General

Display Tiff files on the web

Do you want to display a TIFF image on a webpage? You can learn how here. TIFF files are not made for the web and are not well suited for the web. They used to work in many browsers but as of this writing, support is waning: TIFF files are very large and contain layer information and are meant to preserve quality so they do not compress well. If you display TIFF files you will hurt your page performance.

However, sometimes situations arise where a client requires that their site display TIFF files, so you have to. But how?

How to Display TIFF Files

Enter UTIF.js which was created for the Photopea online photo editor, therefore this library processes your TIFF files and allows you to display them in HTML.

Display TIFF Files on a Website
This is a TIFF file

You can use TIFF images directly inside the <img> element and then, you just have to to call UTIF.replaceIMG() once at some point. Eg:

<body onload=”UTIF.replaceIMG()”>

<img src=”image.tif” /> <img src=”dog.tif” /> …