Hi internals

PHP 8 is stricter in checking input data then PHP 7. This is good but
has some side effects for is_file(), is_dir() and similar functions when
invalid paths are passed for checking.

In PHP 7, this returns FALSE:

php -r 'var_dump(is_file("ab\0c"));'

In PHP 8, the same code throws a ValueException. Problem is now that
it's not possible to check upfront if the passed argument is a valid
path to avoid the exception being thrown.

My suggestion for simpler client side code would be to return FALSE in
this situation for PHP 8 too instead of throwing the ValueException.
Otherwise, it's not possible to use is_file() and related functions
without adding a try/catch block around in any web application.

Best,


Norbert

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: https://www.php.net/unsub.php

Reply via email to