首頁 >後端開發 >php教程 >move_uploaded_file檔案上傳失敗 上傳之後檔案名稱是亂碼

move_uploaded_file檔案上傳失敗 上傳之後檔案名稱是亂碼

WBOY
WBOY原創
2016-07-29 09:15:091862瀏覽

網址: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教學有興趣的朋友有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn