Bug #14898 Updated: $HTTP_POST_FILES['uploadedfile']['name'] error

From: Date: Wed, 03 Apr 2002 07:45:07 +0000
Subject: Bug #14898 Updated: $HTTP_POST_FILES['uploadedfile']['name'] error
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-3885@lists.php.net to get a copy of this message
ID: 14898 Updated by: yohgaki@php.net Reported By: a1593@ma.ks.edu.tw -Status: Open +Status: Analyzed Bug Type: HTTP related -Operating System: linux slackware8 +Operating System: ANY -PHP Version: 4.1.1 +PHP Version: ANY New Comment: It's known issue that PHP does not work well with multi-byte file names. This is better to be fixed someday. We don't know encoding used for filename, but it should be useful still. Previous Comments: ------------------------------------------------------------------------ [2002-02-08 10:36:38] a1593@ma.ks.edu.tw it is better to say that this is an improvement to make the upload function can treat mulit-byte codes like BIG5. there is a explanation in my first post. ------------------------------------------------------------------------ [2002-02-07 22:52:59] shiflett@php.net Is this a patch proposal? I don't see any bugs... ------------------------------------------------------------------------ [2002-01-11 06:24:44] a1593@ma.ks.edu.tw anyway, i hope this is the final post about this issue. ---------------------------------------------- s = strrchr(filenamebuf, '\\'); tmps=filenamebuf; while (!(*tmps==NULL)) { if (!(*tmps>0 && *tmps<160)) {//looks like a chinese word if (!*(tmps+1)==NULL) tmps++; } else { if (*tmps=='\\') s=tmps; } tmps++; } ----------------------------------------------- ------------------------------------------------------------------------ [2002-01-09 03:42:34] a1593@ma.ks.edu.tw -----------code modified---------------------- //s = strrchr(filenamebuf, '\\'); char *tmps; s=filenamebuf; // set initial value for (tmps=filenamebuf;*tmps;tmps++) { if (*tmps<0){// *tmps>127, looks like 2 bytes of chinese code if (!*(tmps+1)) tmps++; continue; } if (*tmps=='\\') s=tmps; } ----------code modified end ------------------- ------------------------------------------------------------------------ [2002-01-08 09:37:12] a1593@ma.ks.edu.tw the following code works well for chinese double-byte checking. -----------code modified---------------------- //s = strrchr(filenamebuf, '\\'); char *tmps; for (tmps=filenamebuf;*tmps;tmps++) { if (*tmps<0){// *tmps>127, looks like 2 bytes of chinese code if (!*(tmps+1)) tmps++; contonue; } if (*tmps=='\\') s=tmps; } ----------code modified end ------------------- ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/14898 -- Edit this bug report at http://bugs.php.net/?id=14898&edit=1

« previous php.bugs (#3885) next »