1. 程式人生 > >php中函數move_uploaded_file()移動中文文件報錯的解決方法

php中函數move_uploaded_file()移動中文文件報錯的解決方法

ads 參數 err AD globals info urn php ssa

在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()獲取後綴名代碼如下

$ext=pathinfo($_FILES[‘avatar‘][‘name‘], PATHINFO_EXTENSION); $target = ‘uploads/‘.uniqid().‘.‘.$ext; if (!move_uploaded_file($_FILES[‘avatar‘][‘tmp_name‘], $target)) { $GLOBALS[‘error_message‘] = ‘上傳文件失敗‘; return; }

php中函數move_uploaded_file()移動中文文件報錯的解決方法