1

英文的文件上传没有问题,但是如果我上传的是utf-8格式的文件,就会出现这样的错误: failed to open stream: Invalid argument。
$file在职的。所以我认为改变格式不是问题。我不知道问题是什么。天才,请帮助我。谢谢你。


我发现 iconv function :: //ignore change -c option。正确的..?

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
4

0 回答 0