test.csv 內容如下:
"aaa","bbb","ccc"
"aaa","bbb","ccc"
檔案上傳後,在php 呼叫
$fp = fopen($_FILES['upload']['tmp_name'], 'r+');
while($row = fgetcsv($fp, 0, $separator)){
$rows[] = $row;
}
echo "<pre>".print_r($rows, 1)."</pre>"; exit;
顯示如下結果:
Array
(
[0] => Array
(
[0] => "aaa"
[1] => bbb
[2] => ccc
)
[1] => Array
(
[0] => aaa
[1] => bbb
[2] => ccc
)
)
第一行第一個元素總是很奇怪的會出現多餘的雙引號。後來發現這個問題跟 UTF8 的 BOM 有關。這篇文章提供了一些說明跟解法:
$str = file_get_contents('yourfile.utf8.csv');
$bom = pack("CCC", 0xef, 0xbb, 0xbf);
if (0 === strncmp($str, $bom, 3)) {
echo "BOM detected - file is UTF-8\n";
$str = substr($str, 3);
}
廣告連結
新北搬家、台北市搬家、中和搬家、板橋搬家雙喜搬家、新北搬家、台北市搬家、中和搬家、板橋搬家
沒有留言:
張貼留言