Hi,
I'd like to propose adding an optional $suffix to tempnam()
. Please find
attached a patch that implements this against current master.
Help with this would be appreciated, especially if I did something
wrong, since it's my first php-src patch.
As you might expect, it can be used like
echo tempnam('.', 'abc-', '.png');
We discussed the usecase lately in the TYPO3-community where there are
some cases where external tools would like to have a proper suffix for
temporary files. They currently use their own "workaround" to have a
tempnam()
with suffix.
Kind regards,
Stefan
Hi Stefan,
I'd like to propose adding an optional $suffix to
tempnam()
. Please find
attached a patch that implements this against current master.
It's convenient if you could use github instead of attaching patch.
Could you use github or gist?
Thank you.
--
Yasuo Ohgaki
yohgaki@ohgaki.net
-static int php_do_open_temporary_file(const char *path, const char *pfx, char **opened_path_p TSRMLS_DC)
+static int php_do_open_temporary_file(const char *path, const char *pfx, char **opened_path_p TSRMLS_DC, const char *suffix)
TSRM should be the last parameter, move your new one in front of it.
-PHPAPI int php_open_temporary_fd_ex(const char *dir, const char *pfx, char **opened_path_p, zend_bool open_basedir_check TSRMLS_DC)
+PHPAPI int php_open_temporary_fd_ex(const char *dir, const char *pfx, char **opened_path_p, zend_bool open_basedir_check TSRMLS_DC, const char *suffix)
-PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC)
+PHPAPI int php_open_temporary_fd(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC, const char *suffix)
-PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC)
+PHPAPI FILE *php_open_temporary_file(const char *dir, const char *pfx, char **opened_path_p TSRMLS_DC, const char *suffix)
[...]
These are API changes so it could only be in 5.6.0. Eventually it might
be added if instead of changing APIs new functions might be introduced
and the old ones call the new ones.
(also TSRM should be last last there, too)
Aside for that: A test would be good.
For not loosing it either create a feature request at bugs.php.net or
pull request at github.
johannes