Php ISO-8859-1至UTF-8
英文文件上传时没有任何问题,但是如果我上传utf-8格式文件的格式,我会出现如下错误:无法打开流:参数无效Php ISO-8859-1至UTF-8,php,character-encoding,upload,mb-convert-encoding,Php,Character Encoding,Upload,Mb Convert Encoding,英文文件上传时没有任何问题,但是如果我上传utf-8格式文件的格式,我会出现如下错误:无法打开流:参数无效 $file正在工作。所以我不认为改变格式是个问题。我不知道是什么问题。天才,请帮帮我。多谢各位 我找到了iconv函数:://忽略更改-c选项。对 echo "==>".var_dump(iconv_get_encoding('all'))."<br>"; // result: 'ISO-8859-1' //$fileName = iconv("utf-8", "IS
$file
正在工作。所以我不认为改变格式是个问题。我不知道是什么问题。天才,请帮帮我。多谢各位
我找到了iconv函数:://忽略更改-c选项。对
echo "==>".var_dump(iconv_get_encoding('all'))."<br>"; // result: 'ISO-8859-1'
//$fileName = iconv("utf-8", "ISO-8859-1", $_FILES['csv_file']['name']);
$file = mb_convert_encoding($_FILES['csv_file']['name'],"utf-8", "utf-8");
$file = basename($file);
echo "\nfile name: ".$file; // result: utf-8 format working
if(is_uploaded_file($_FILES["csv_file"]["tmp_name"])) {
$target_path = $_SERVER['DOCUMENT_ROOT'] . "/upload/".$file; //basename($_FILES['csv_file']['name']);
move_uploaded_file($_FILES['csv_file']['tmp_name'], $target_path);
}
echo $target_path; //result: C:/APM_Setup/htdocs/upload/filename.txt
echo“==>”.var_dump(iconv_get_encoding('all'))。“
”;//结果:“ISO-8859-1”
//$fileName=iconv(“utf-8”、“ISO-8859-1”、$_文件['csv_文件']['name']);
$file=mb_convert_编码($_文件['csv_文件']['name'],“utf-8”,“utf-8”);
$file=basename($file);
echo“\n文件名:”.$file;//结果:utf-8格式工作正常
如果(是上传的文件($\u文件[“csv\u文件”][“tmp\u名称”])){
$target\u path=$\u SERVER['DOCUMENT\u ROOT'].“/upload/”$file;///basename($\u FILES['csv\u file']['name']);
移动上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\;
}
echo$target_路径//结果:C:/APM\u Setup/htdocs/upload/filename.txt
如果删除文件名的“mb\u convert\u encoding”,则此操作正常。也许您必须检查$target_路径中系统无法处理的任何特殊字符。如果删除文件名的“mb_convert_encoding”,这是正确的。也许您必须检查$target\u路径中系统无法处理的任何特殊字符