SWFUploadでアップロードする際、ファイル名が英語であれば問題ありませんが、中国語だと表示されません 今回はどうなったのでしょうか?どこを修正すればいいのでしょうか?
まず第一に、私がアップロードしたファイルには中国語の文字が含まれています
アップロードフォルダーにアップロードした後のファイル名は(前の日付は自分で追加しました)、つまり「biao」と「中国語」の 3 つの単語だけが存在することを意味します" は消えました
データベース内の完全なファイル名とパスを表示します
Upload.php は次のように変更されます
// $file_name = preg_replace('/[^'.$valid_chars_regex.']|.+$/ i', "", ベース名($_FILES[$アップロード名]['名前']));
$ファイル名 = ベース名($_FILES[$アップロード名]['名前']);
$ファイル名=iconv("UTF- 8","GB2312" ,$file_name);
この問題の解決方法がわかりません、アドバイスをお願いします~
$fn = '中文文件名.txt';echo basename($fn);
$fn = '中文文件名.txt';echo basename($fn);
中国語のファイル名を使用することはお勧めできません。その理由はモデレーターによって説明されています。
同じ名前のファイルの場合、ファイル名の後に時間の文字列(秒単位)を追加する予定ですが、大丈夫ですか?
ファイルをアップロードするたびに、時刻と乱数を使用してファイル名を生成し、元のファイル名を使用しないことをお勧めします。
$oldname = 'myfile.xlsx';$newname = createFileName($oldname);echo $newname;function createFileName($name){ // 获取后缀 $name = explode('.', $name); $ext = array_pop($name); // 获取微秒数 $r = explode('.',microtime(true)); $r = array_pop($r); // 生成newname $newname = date('YmdHis').$r.mt_rand(1000,9999).'.'.$ext; return $newname;}
中国語のファイル名を使用することはお勧めできません。その理由はモデレーターによって説明されています。
同じ名前のファイルの場合、ファイル名の後に時間の文字列(秒単位)を追加する予定ですが、大丈夫ですか?
ファイルをアップロードするたびに、時刻と乱数を使用してファイル名を生成し、元のファイル名を使用しないことをお勧めします。
りー