rosell-dk / webp-convert

Convert jpeg/png to webp with PHP (if at all possible)
MIT License
570 stars 102 forks source link

php warning rename and filesize #351

Open sissibieber opened 1 month ago

sissibieber commented 1 month ago

hello, it seems that sometimes when converting an image with (WebPConvert::convert($new_dir, $new_dir.'.webp', static::$webpOptions);) I get the following php warning in my error_log. Not sure if this is a timing issue (so lossy and lossless images are created too slow and the function for comparing both (convertTwoAndSelectSmallest()) is called before they are there or if really one is missing?

[29-Apr-2024 11:40:23 UTC] Backtrace from warning 'filesize(): stat failed for /usr/www/users/content/uploads/responsive/Teaser-Spenden-statt-verschwenden-799x599.jpg.webp.lossy.webp' at /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php 70: /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php 120 calling call_user_func() | <unknown file> <unknown line> calling warningHandler() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/BaseTraits/WarningLoggerTrait.php 120 calling call_user_func() | <unknown file> <unknown line> calling warningHandler() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php 70 calling filesize() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php 86 calling convertTwoAndSelectSmallest() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 255 calling runActualConvert() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 294 calling doConvertImplementation() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/Stack.php 244 calling doConvert() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 348 calling doActualConvert() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 255 calling runActualConvert() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 294 calling doConvertImplementation() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/AbstractConverter.php 366 calling doConvert() | /usr/www/users/content/themes/client/framework/general/vendor/rosell-dk/webp-convert/src/WebPConvert.php 50 calling convert() | /usr/www/users/content/themes/client/framework/general/Image.class.php 276 calling convert()

sissibieber commented 1 month ago

oh I see this got fixed with 2.9.3

sissibieber commented 2 weeks ago

there is still a php warning that appears PHP Warning: filesize(): stat failed for /usr/www/users/xxx/content/uploads/sites/2/responsive/imagename-1-2210x1705.png.webp.lossy.webp in /usr/www/users/xxx/content/themes/themename/framework/general/vendor/rosell-dk/webp-convert/src/Convert/Converters/ConverterTraits/EncodingAutoTrait.php on line 70

apparently the filesize from $destinationLossless or $destinationLossy can not be read - not sure if there is something wrong while trying to create the file or if the file is not yet done and the filesize call is too eary or the file is not created at all?

maybe @filesize would do it or checking if the file exists?