次の形式の CSV ファイルがあります:
"11111";"1111111";"2324242";"66dggdgg"LF (改行)
"sdfsfsdfsdf";"sdfsdfsdfsfd";"sdfsdf CR LF (line feed) sf sdf ";"sdfsdfsdfsfsf"LF (改行)
現在の問題は、フィールドの内容に改行文字が含まれていることです。これはどう対処すればよいでしょうか? (東南アジアのスパムプラットフォームによってエクスポートされたファイル形式)
実際のファイル、スクリーンショットでも
を提示し、問題を説明する必要があります。あなたは
に遭遇しました
fgetcsv、str_getcsv は非常にうまく処理できます
http://pan.baidu.com/s/1sjEcrM1
上記はドキュメントのリンクであり、主にコンテンツ内の改行に対処する方法です
$fp = fopen('Order_2015-12-01_113045.csv', 'r');while($buf = fgetcsv($fp, '"', ';')) { $res[] = $buf;}print_r($res);
Array( [0] => Array ( [0] => 锘�"Order Item Id" [1] => Lazada Id [2] => Seller SKU [3] => Lazada SKU [4] => Created at [5] => Updated at [6] => Order Number [7] => Customer Name [8] => National Registration Number [9] => Shipping Name [10] => Shipping Address [11] => Shipping Address2 [12] => Shipping Address3 [13] => Shipping Address4 [14] => Shipping Address5 [15] => Shipping Phone Number [16] => Shipping Phone Number2 [17] => Shipping City [18] => Shipping Postcode [19] => Shipping Country [20] => Billing Name [21] => Billing Address [22] => Billing Address2 [23] => Billing Address3 [24] => Billing Address4 [25] => Billing Address5 [26] => Billing Phone Number [27] => Billing Phone Number2 [28] => Billing City [29] => Billing Postcode [30] => Billing Country [31] => Payment Method [32] => Paid Price [33] => Unit Price [34] => Shipping Fee [35] => Wallet Credits [36] => Item Name [37] => Variation [38] => Color [39] => CD Shipping Provider [40] => Shipping Provider [41] => Shipment Type Name [42] => Shipping Provider Type [43] => CD Tracking Code [44] => Tracking Code [45] => Tracking URL [46] => Promised shipping time [47] => Premium [48] => Status [49] => Reason ) [1] => Array ( [0] => 4510457 [1] => 10940553 [2] => lazada000009 [3] => NO037OTAA43BO8ANMY-8132332 [4] => 2015-11-30 14:09:14 [5] => 2015-11-30 15:23:39 [6] => 344351562 [7] => [8] => [9] => Rinee Ramiah [10] => UMW TOYOTSU MOTORS SDN BHDNo 1,jalan batu arang, [11] => [12] => [13] => [14] => [15] => 0122533611 [16] => [17] => Selangor-Rawang-48000 [18] => 48000 [19] => Malaysia [20] => Rinee Ramiah [21] => UMW TOYOTSU MOTORS SDN BHDNo 1,jalan batu arang, [22] => [23] => [24] => [25] => [26] => 0122533611 [27] => [28] => Selangor-Rawang-48000 [29] => 48000 [30] => Malaysia [31] => Cybersource [32] => 49.25 [33] => 49.25 [34] => 0.00 [35] => 0.00 [36] => BesWLZ Multi Function Mens Military DualTime Digital Analog Chronograph Sport Wrist Watch 50M Water Resistant Waterproof for Boy Girls Child Kids Gift (Green) [37] => ... [38] => [39] => [40] => [41] => Dropshipping [42] => standard [43] => [44] => [45] => [46] => [47] => No [48] => canceled [49] => Out of Stock - Product non available ))
[0][0] BOM ヘッダーの影響により、要素に問題があります。
削除すると正常になります。
$fp = fopen('Order_2015-12-01_113045.csv', 'r');
fseek($fp, 3) //これにより削除されます
while($buf = fgetcsv($fp, '") ', ';')) {
$res[] = $buf;
print_r($res)
は削除されませんが、
はスキップされます