summaryrefslogtreecommitdiff
path: root/ext/ftp/php_ftp.c
diff options
context:
space:
mode:
authorSara Golemon <pollita@php.net>2003-01-27 02:54:12 +0000
committerSara Golemon <pollita@php.net>2003-01-27 02:54:12 +0000
commit761fa96412960d942e8767df7a3874f84371db34 (patch)
tree68ae95d92bd9e9d2fe8e8313ab22cdac0da30652 /ext/ftp/php_ftp.c
parente9833ff497d2d8c47e426edaffda4f12cd3c8797 (diff)
downloadphp-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.c25
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)