php中函數move_uploaded_file()移動中文文件報錯的解決方法
阿新 • • 發佈:2018-06-14
ads 參數 err AD globals info urn php ssa
$ext=pathinfo($_FILES[‘avatar‘][‘name‘], PATHINFO_EXTENSION);
$target = ‘uploads/‘.uniqid().‘.‘.$ext;
if (!move_uploaded_file($_FILES[‘avatar‘][‘tmp_name‘], $target)) {
$GLOBALS[‘error_message‘] = ‘上傳文件失敗‘;
return;
}
在windos中文系統上要求傳入的參數如果有中文必須是GBK編碼
1、用iconv()轉換字符集代碼如下
$target_pt = ‘./uploads/‘.uniqid().‘-‘.$images[‘name‘]; //windows下支持中文名字上傳 $upload_file_pt = iconv("UTF-8", "GB2312", $target_pt); if (!move_uploaded_file($images[‘tmp_name‘], $upload_file_pt)) { $GLOBALS[‘error_message‘] = ‘上傳失敗‘; return; }2、直接自己取名字用uniqid()獲取名字,用pathinfo()獲取後綴名代碼如下
php中函數move_uploaded_file()移動中文文件報錯的解決方法