我正在开发一种一次性的单用途CSV格式转换脚本。我从一个提供商处获取文件并将其字段映射到另一个提供商的格式。
到目前为止,我有一个CSV文件,我希望通过PHP脚本运行 1.剥去标题行 2.将CSV数据放入数组中 3.打印数组中第一个字段的内容(所以我可以看到它正在工作)
CSV文件如下所示:
Order Date (UTC Time Zone),Order Number,Customer Name,Customer Address,Customer Address2,City,State,Zip,Country,Product Name,Quantity,UPC,SKU,Shipping Carrier,Tracking Number
2017-10-09,1000-000001-000001,John Doe,1234 ANY DR,"",ANY CITY,CA,90210,US,ACME® Product,1,012345678910,012345678,"",""
问题是我的脚本在下面没有打印出来。我只想验证我是否有一个数组,并且它包含的数据正在着陆在正确的数组索引中。
<?php
// Remove headers from the first line of file "yyyymmdd.csv" and save it to an outfile named "yyyymmdd_clean.csv"
ini_set('auto_detect_line_endings', true);
$original = fopen("20171010.csv", "r");
$first = fgets($original,2048); #get first line.
$outfile="20171010_clean.csv";
$o = fopen($outfile,"w");
while (!feof($original)) {
$buffer = fgets($original,2048);
// Save outfile
fwrite($o,$buffer);
}
// Close original file, but don't close outfile
fclose($original);
// Convert cleaned outfile into array of SourceLine[n],SourceField[n]
while (($data = fgetcsv($o)) !== FALSE) {
echo "OrderID " . $data[0];
}
// Now close the outfile. We're done.
fclose($o);
?>
我在远程开发服务器上运行它。
我需要更改什么才能将数据的第一个字段回显到屏幕?