iliaa Mon Jan 31 21:33:25 2005 EDT Modified files: (Branch: PHP_4_3) /php-src/main rfc1867.c Log: MFH: Final version of filename upload handling. http://cvs.php.net/diff.php/php-src/main/rfc1867.c?r1=1.122.2.31&r2=1.122.2.32&ty=u Index: php-src/main/rfc1867.c diff -u php-src/main/rfc1867.c:1.122.2.31 php-src/main/rfc1867.c:1.122.2.32 --- php-src/main/rfc1867.c:1.122.2.31 Mon Jan 24 18:52:27 2005 +++ php-src/main/rfc1867.c Mon Jan 31 21:33:25 2005 @@ -16,7 +16,7 @@ | Jani Taskinen <[EMAIL PROTECTED]> | +----------------------------------------------------------------------+ */ -/* $Id: rfc1867.c,v 1.122.2.31 2005/01/24 23:52:27 iliaa Exp $ */ +/* $Id: rfc1867.c,v 1.122.2.32 2005/02/01 02:33:25 iliaa Exp $ */ /* * This product includes software developed by the Apache Group @@ -31,7 +31,6 @@ #include "php_globals.h" #include "php_variables.h" #include "rfc1867.h" -#include "ext/standard/php_string.h" #undef DEBUG_FILE_UPLOAD @@ -1065,7 +1064,11 @@ str_len = strlen(filename); php_mb_gpc_encoding_converter(&filename, &str_len, 1, NULL, NULL TSRMLS_CC); } +#ifdef PHP_WIN32 s = php_mb_strrchr(filename, '\\' TSRMLS_CC); +#else + s = filename; +#endif if ((tmp = php_mb_strrchr(filename, '/' TSRMLS_CC)) > s) { s = tmp; } @@ -1073,11 +1076,24 @@ goto filedone; } #endif +#ifdef PHP_WIN32 + s = strrchr(filename, '\\'); +#else + s = filename; +#endif + if ((tmp = strrchr(filename, '/')) > s) { + s = tmp; + } +#ifdef PHP_WIN32 + if (PG(magic_quotes_gpc)) { + s = s ? s : filename; + tmp = strrchr(s, '\''); + s = tmp > s ? tmp : s; + tmp = strrchr(s, '"'); + s = tmp > s ? tmp : s; + } +#endif - /* ensure that the uploaded file name only contains the path */ - s = php_basename(filename, strlen(filename), NULL, 0); - efree(filename); - filename = s; #if HAVE_MBSTRING && !defined(COMPILE_DL_MBSTRING) filedone: #endif
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php