網址:http://blog.sina.com.cn/s/blog_976934420101cpnz.html
不多說,先貼我程式碼;
$filename = $FI. 'name'];
$file = "../uploads/".$filename;
$file=iconv("UTF-8","GB2312//IGNORE", $file);
if (!move_uploaded_file ($_FILES['file']['tmp_name'],$file)){
echo "
$file.+"!');";
exit();
}
上面的是我解決問題的代碼;如果項目是GB2312
的編碼應該不會出現這個問題才對;$file=iconv("UTF-8","
GB2312//IGNORE", $file);這個主要用來轉換檔案路徑的編碼;如果不轉編碼,當檔案路徑或檔案名稱裡面含有空格則上傳會失敗,如果有漢字會出現亂碼;上傳完畢一定要把路徑和名字的編碼轉回來,因為專案是UTF-8的,GB2312
的路徑和檔案名稱會顯示成亂碼;我的程式碼: if($upfile['error']==UPLOAD_ERR_OK){
if($upfile['error']==UPLOAD_ERR_OK){🎠 // 取得姓名 .txt .rar 等// $extName=strtolower(end(explode('.',$upfile['name']))); //取得真實名稱包含後綴 //取得真實名稱包含後綴 name up name'];
$filename=iconv("UTF-8","GB2312
//IGNORE",$filename);// $name=iconv(" filename);
$dest="../doc/secure/".$filename;
// $dest=iconv("UTF-8","
GB2312
//IGNORE", $dest);移動到doc目錄下
//因為中文亂碼問題可能上傳失敗 if(!move_uploaded_file($upfile['tmp_name'],$dest)){ 0 請確認上傳檔案
的名字沒有空格! ');"; }else{ $filename=iconv("
GB2312
","UTF-8//IGNOREORE",$filename); filename; //取得表單參數 儲存資料庫 $sql="insert into secure (secure_id,path,PostTime,name,Source)
識別$ ','$_SESSION[userID]')";
mysql_query($sql);
}
}
以上就介紹了move_uploaded_file檔案上傳失敗 上傳之後檔案名稱是亂碼,包含了方面的內容,希望對PHP教學有興趣的朋友有所幫助。