php上傳的文件名亂碼
發布時間: 2023-02-27 18:56:33
亂碼和外國無關。
伺服器的設置和程序本身,兩方面都可能引起亂碼。
GB2312
的編碼,如果設置對了,也不會出亂碼。
因此,關鍵看你怎麼設置。
❷ PHP文件上傳中文亂碼問題,以下為代碼
說的是文件名亂碼么?
凡中文這樣轉化一下
iconv("GB2312","UTF-8",$_FILES["file"]["name"] );
❸ PHP上傳出現亂碼 請問以下這段上傳代碼我上傳中文時會出現亂碼,請問怎麼修改啊
修改這一行代碼:
//移動文件
// $file_path = $save_path . $file_name;
$file_path = $save_path . microtime( TRUE ) . '.' . $file_ext;
原因:
windows和該代碼的文件名編碼不一致,windows是GB編碼,你的代碼是UTF編碼,所以直接用文件原始文件名會導致亂碼。
只要是文件上傳的地方統統要修改文件名,客戶端的文件名可以寫在資料庫裡面。
❹ php上傳圖片名稱亂碼
中文文件名需要轉碼成gbk:
functionsaveFile($fileArr,$post_get){
$realFileName=$fileArr["name"];//上傳文件的文件名
$ext_file_name=strrchr($realFileName,'.')?strrchr($realFileName,'.'):"";//獲取擴展名
$type=$fileArr["type"];//上傳文件的類型
$size=$fileArr["size"];//上傳文件的大小
$tmp_name=$fileArr["tmp_name"];//上傳文件的臨時存放路徑
$web_root=$_SERVER['DOCUMENT_ROOT'];
//$guidFilePath=$web_root.stripslashes($post_get['tagPath']).'/'.creat_guid(0).$ext_file_name;
$FileUrl=stripslashes($post_get['tagPath']).'/'.$realFileName.$ext_file_name;
$FilePath=$web_root.$guidFileUrl;
$FilePathBK=iconv("utf-8","gbk",$dFilePath);
$md5=strtoupper(md5_file($tmp_name));
try{
if(move_uploaded_file($tmp_name,$FilePathBK)){
returnarray("success"=>true,'msg'=>"","realFileName"=>$realFileName,"guidFilePath"=>$guidFilePath,'md5'=>$md5,"fileSize"=>$size);
}else{
returnarray("success"=>true,'msg'=>$realFileName.'isnotavaliploadfile!',"realFileName"=>$realFileName,"guidFilePath"=>$guidFilePath,"fileSize"=>$size);
}
}catch(Exception$e){
returnarray("success"=>false,'msg'=>$e->getMessage(),"realFileName"=>$realFileName,"guidFilePath"=>$guidFilePath,"fileSize"=>$size);
}
}
❺ PHP上傳文件名亂碼,win環境。
if(move_uploaded_file($pic['tmp_name'], $upload_dir.$pic['name']))
改為
if(move_uploaded_file($pic['tmp_name'], iconv("UTF-8","GBK",$upload_dir.$pic['name'])))
熱點內容