sterling Wed Mar 12 01:47:35 2003 EDT Modified files: /php4/ext/standard basic_functions.c file.c file.h Log: @ Add the file_set_contents() function, as a complement to the file_get_contents() @ function. (Sterling) Index: php4/ext/standard/basic_functions.c diff -u php4/ext/standard/basic_functions.c:1.595 php4/ext/standard/basic_functions.c:1.596 --- php4/ext/standard/basic_functions.c:1.595 Sun Mar 9 18:12:31 2003 +++ php4/ext/standard/basic_functions.c Wed Mar 12 01:47:34 2003 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.595 2003/03/09 23:12:31 pollita Exp $ */ +/* $Id: basic_functions.c,v 1.596 2003/03/12 06:47:34 sterling Exp $ */ #include "php.h" #include "php_streams.h" @@ -672,6 +672,7 @@ PHP_STATIC_FE("tmpfile", php_if_tmpfile, NULL) PHP_FE(file, NULL) PHP_FE(file_get_contents, NULL) + PHP_FE(file_set_contents, NULL) PHP_FE(stream_select, first_through_third_args_force_ref) PHP_FE(stream_context_create, NULL) PHP_FE(stream_context_set_params, NULL) Index: php4/ext/standard/file.c diff -u php4/ext/standard/file.c:1.324 php4/ext/standard/file.c:1.325 --- php4/ext/standard/file.c:1.324 Fri Mar 7 00:15:23 2003 +++ php4/ext/standard/file.c Wed Mar 12 01:47:34 2003 @@ -21,7 +21,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.c,v 1.324 2003/03/07 05:15:23 sniper Exp $ */ +/* $Id: file.c,v 1.325 2003/03/12 06:47:34 sterling Exp $ */ /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */ @@ -458,6 +458,34 @@ } /* }}} */ + +/* {{{ proto string file_set_contents(string file, string data) + Write/Create a file with contents data */ +PHP_FUNCTION(file_set_contents) +{ + php_stream *stream; + char *filename, *data; + size_t filename_len, data_len; + int numbytes; + zend_bool use_include_path = 0; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss|b", &filename, &filename_len, + &data, &data_len, &use_include_path) == FAILURE) { + return; + } + + stream = php_stream_open_wrapper(filename, "wb", + (use_include_path ? USE_PATH : 0) | ENFORCE_SAFE_MODE | REPORT_ERRORS, NULL); + if (data_len) { + numbytes = php_stream_write(stream, data, data_len); + if (numbytes < 0) { + RETURN_FALSE; + } + } + php_stream_close(stream); + + RETURN_TRUE; +} /* {{{ proto array file(string filename [, int flags]) Read entire file into an array */ Index: php4/ext/standard/file.h diff -u php4/ext/standard/file.h:1.79 php4/ext/standard/file.h:1.80 --- php4/ext/standard/file.h:1.79 Fri Feb 28 14:53:20 2003 +++ php4/ext/standard/file.h Wed Mar 12 01:47:34 2003 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: file.h,v 1.79 2003/02/28 19:53:20 wez Exp $ */ +/* $Id: file.h,v 1.80 2003/03/12 06:47:34 sterling Exp $ */ /* Synced with php 3.0 revision 1.30 1999-06-16 [ssb] */ @@ -54,6 +54,7 @@ PHP_FUNCTION(copy); PHP_FUNCTION(file); PHP_FUNCTION(file_get_contents); +PHP_FUNCTION(file_set_contents); PHP_FUNCTION(get_meta_tags); PHP_FUNCTION(flock); PHP_FUNCTION(fd_set);
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php