下面我來總結一下php utf8編碼上傳中文文件名出現亂碼解決辦法,有碰這類問題的朋友可參考參考。 代碼如下 復制代碼
<?php
if(isset($_FILES['file'])){
$upload='upload/'.$_FILES['file']['name'];
if(is_uploaded_file($_FILES['file']['tmp_name'])){
//iconv函數解決上傳文件中文名亂碼的問題,但是不提倡文件名是中文的,特別是unix/linux環境下 ,當你要輸出的時候,又要給變回來,iconv('gb2312',UTF-8',$upload)
if(!move_uploaded_file($_FILES['file']['tmp_name'],iconv('UTF-8','gb2312',$upload))){
echo 'failed';
}else{
echo 'success';
}
}
else{
echo 'failed';
}
}
?>
/******關於iconv函數的應用:string iconv ( string in_charset, string out_charset, string str )
* in_charset:傳入的文件的格式
* out_charset:輸出的文件的格式
* str:文件路徑
*****/