diff options
author | Sara Golemon <pollita@php.net> | 2003-01-27 02:54:12 +0000 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2003-01-27 02:54:12 +0000 |
commit | 761fa96412960d942e8767df7a3874f84371db34 (patch) | |
tree | 68ae95d92bd9e9d2fe8e8313ab22cdac0da30652 /ext/ftp/php_ftp.c | |
parent | e9833ff497d2d8c47e426edaffda4f12cd3c8797 (diff) | |
download | php-git-761fa96412960d942e8767df7a3874f84371db34.tar.gz |
Feature Request #21748. Added function ftp_chmod().
Diffstat (limited to 'ext/ftp/php_ftp.c')
-rw-r--r-- | ext/ftp/php_ftp.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ext/ftp/php_ftp.c b/ext/ftp/php_ftp.c index 3b218385fd..b8fc548b1e 100644 --- a/ext/ftp/php_ftp.c +++ b/ext/ftp/php_ftp.c @@ -58,6 +58,7 @@ function_entry php_ftp_functions[] = { PHP_FE(ftp_exec, NULL) PHP_FE(ftp_mkdir, NULL) PHP_FE(ftp_rmdir, NULL) + PHP_FE(ftp_chmod, NULL) PHP_FE(ftp_nlist, NULL) PHP_FE(ftp_rawlist, NULL) PHP_FE(ftp_systype, NULL) @@ -380,6 +381,30 @@ PHP_FUNCTION(ftp_rmdir) } /* }}} */ +/* {{{ proto int ftp_chmod(resource stream, int mode, string filename) + Sets permissions on a file */ +PHP_FUNCTION(ftp_chmod) +{ + zval *z_ftp; + ftpbuf_t *ftp; + char *filename; + int mode, filename_len; + + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rls", &z_ftp, &mode, &filename, &filename_len) == FAILURE) { + RETURN_FALSE; + } + + ZEND_FETCH_RESOURCE(ftp, ftpbuf_t*, &z_ftp, -1, le_ftpbuf_name, le_ftpbuf); + + if (!ftp_chmod(ftp, mode, filename)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", ftp->inbuf); + RETURN_FALSE; + } + + RETURN_LONG(mode); +} +/* }}} */ + /* {{{ proto array ftp_nlist(resource stream, string directory) Returns an array of filenames in the given directory */ PHP_FUNCTION(ftp_nlist) |