[PHP-users 24863] multipart/form-dataで、\マークでエスケープされる
keiji
keiji @ help-js.com
2005年 3月 14日 (月) 16:17:26 JST
渡邉と申します。
SJISで、multipart/form-dataでアップロード時、ファイル名が
化けてしまいます。
通常の文字に関しては、過去ログを参考に以下のソースで解決
しました。(例:"表示")
if(get_magic_quotes_gpc()){
$src = stripslashes($src);
}
ですが、ファイル名の場合、例えば "c:\data\表示.pdf" の
ようなファイル名の場合に "c:\data\表\示.pdf" としてデータが
渡ってくるのか、以下を実行すると "示.pdf"となってしまいます。
echo $_FILES["filename"]["name"]
どなたか解決方法をご存知ないでしょうか。よろしくお願いします。
RedHat Enterprise Linux ES v.3
PHP 4.3.2
※php.iniでは
mbstring.http_output = EUC-JP
mbstring.internal_encoding = EUC-JP
ですが、ソース内で
mb_http_outout("SJIS");
mb_internal_encoding("SJIS");
としています。
PHP-users メーリングリストの案内