cvs: php3 / request_info.c request_info.h /functions basic_functions.c basic_functions.h mime.c
| From: | Zeev Suraski | Date: | Sat, 09 Sep 2000 21:05:45 +0000 |
| Subject: | cvs: php3 / request_info.c request_info.h /functions basic_functions.c basic_functions.h mime.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-1672@lists.php.net to get a copy of this message | ||
zeev Sat Sep 9 14:05:45 2000 EDT
Modified files:
/php3 request_info.c request_info.h
/php3/functions basic_functions.c basic_functions.h mime.c
Log:
Backport is_uploaded_file() to PHP 3.0. I don't think I'll backport
move_uploaded_file().
Index: php3/request_info.c
diff -u php3/request_info.c:1.43 php3/request_info.c:1.44
--- php3/request_info.c:1.43 Fri Dec 31 20:31:13 1999
+++ php3/request_info.c Sat Sep 9 14:05:45 2000
@@ -27,7 +27,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: request_info.c,v 1.43 2000/01/01 04:31:13 sas Exp $ */
+/* $Id: request_info.c,v 1.44 2000/09/09 21:05:45 zeev Exp $ */
#include "php.h"
php3_request_info request_info;
@@ -87,6 +87,7 @@
GLOBAL(request_info).filename = NULL;
}
#endif
+ _php3_hash_init(&GLOBAL(request_info).rfc1867_uploaded_files, 5, NULL, NULL, 0);
return SUCCESS;
}
@@ -94,6 +95,7 @@
{
TLS_VARS;
STR_FREE(GLOBAL(request_info).current_user);
+ _php3_hash_destroy(&GLOBAL(request_info).rfc1867_uploaded_files);
return SUCCESS;
}
#endif
Index: php3/request_info.h
diff -u php3/request_info.h:1.19 php3/request_info.h:1.20
--- php3/request_info.h:1.19 Fri Dec 31 20:44:07 1999
+++ php3/request_info.h Sat Sep 9 14:05:45 2000
@@ -27,11 +27,13 @@
+----------------------------------------------------------------------+
*/
-/* $Id: request_info.h,v 1.19 2000/01/01 04:44:07 sas Exp $ */
+/* $Id: request_info.h,v 1.20 2000/09/09 21:05:45 zeev Exp $ */
#ifndef _REQUEST_INFO_H_
#define _REQUEST_INFO_H_
+#include "php3_hash.h"
+
typedef struct {
char *filename;
char *path_info;
@@ -46,6 +48,7 @@
const char *cookies;
const char *script_filename;
char *php_argv0;
+ HashTable rfc1867_uploaded_files;
} php3_request_info;
extern php3_request_info request_info;
Index: php3/functions/basic_functions.c
diff -u php3/functions/basic_functions.c:1.289 php3/functions/basic_functions.c:1.290
--- php3/functions/basic_functions.c:1.289 Sat Jun 24 11:33:29 2000
+++ php3/functions/basic_functions.c Sat Sep 9 14:05:45 2000
@@ -28,7 +28,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: basic_functions.c,v 1.289 2000/06/24 18:33:29 eschmid Exp $ */
+/* $Id: basic_functions.c,v 1.290 2000/09/09 21:05:45 zeev Exp $ */
#include "php.h"
#include "modules.h"
#include "internal_functions.h"
@@ -341,6 +341,7 @@
PHP_FE(connection_status, NULL)
PHP_FE(ignore_user_abort, NULL)
+ PHP_FE(is_uploaded_file, NULL)
PHP_FE(extract, NULL)
PHP_FE(function_exists, NULL)
@@ -2320,6 +2321,24 @@
}
}
/* }}} */
+
+
+
+PHP_FUNCTION(is_uploaded_file)
+{
+ pval *path;
+
+ if (ARG_COUNT(ht)!=1 || getParameters(ht, 1, &path)!=SUCCESS) {
+ WRONG_PARAM_COUNT;
+ }
+ convert_to_string(path);
+
+ if (_php3_hash_exists(&GLOBAL(request_info).rfc1867_uploaded_files, path->value.str.val,
path->value.str.len+1)) {
+ RETURN_TRUE;
+ } else {
+ RETURN_FALSE;
+ }
+}
/*
* Local variables:
Index: php3/functions/basic_functions.h
diff -u php3/functions/basic_functions.h:1.48 php3/functions/basic_functions.h:1.49
--- php3/functions/basic_functions.h:1.48 Mon Apr 10 12:29:37 2000
+++ php3/functions/basic_functions.h Sat Sep 9 14:05:45 2000
@@ -29,7 +29,7 @@
*/
-/* $Id: basic_functions.h,v 1.48 2000/04/10 19:29:37 andi Exp $ */
+/* $Id: basic_functions.h,v 1.49 2000/09/09 21:05:45 zeev Exp $ */
#ifndef _BASIC_FUNCTIONS_H
#define _BASIC_FUNCTIONS_H
@@ -106,6 +106,8 @@
extern PHP_FUNCTION(function_exists);
extern PHP_FUNCTION(extract);
+
+PHP_FUNCTION(is_uploaded_file);
PHP_FUNCTION(register_shutdown_function);
PHP_FUNCTION(alarm);
Index: php3/functions/mime.c
diff -u php3/functions/mime.c:1.62 php3/functions/mime.c:1.63
--- php3/functions/mime.c:1.62 Sun Sep 3 22:21:46 2000
+++ php3/functions/mime.c Sat Sep 9 14:05:45 2000
@@ -26,7 +26,7 @@
| Authors: Rasmus Lerdorf <rasmus@php.net> |
+----------------------------------------------------------------------+
*/
-/* $Id: mime.c,v 1.62 2000/09/04 05:21:46 rasmus Exp $ */
+/* $Id: mime.c,v 1.63 2000/09/09 21:05:45 zeev Exp $ */
#include <stdio.h>
#include "php.h"
#include "internal_functions.h"
@@ -250,6 +250,11 @@
}
bytes = fwrite(ptr, 1, loc - ptr - 4, fp);
fclose(fp);
+ {
+ int dummy=1;
+
+ _php3_hash_add(&GLOBAL(request_info).rfc1867_uploaded_files, fn, strlen(fn)+1,
&dummy, sizeof(int), NULL);
+ }
php3_list_do_insert(&GLOBAL(list),fn,GLOBAL(le_uploads)); /* Tell PHP about the file so
the destructor can unlink it later */
if (bytes < (loc - ptr - 4)) {
php3_error(E_WARNING, "Only %d bytes were written, expected to write %ld", bytes,
loc - ptr - 4);