The CSV file is read in the following format:
"11111"; "1111111"; "2324242"; "66 dggdgg" LF (line feed)
"Sdfsfsdfsdf"; "sdfsdfsdfsfd"; "sdfsdf cr lf (line feed) sfsdf"; "sdfsdfsdfsfsf" LF (line feed)
The problem is that the field content contains line breaks. how can this problem be solved? (File format exported by a junk platform in Southeast Asia)
Reply to discussion (solution)
You should give a real file, even a screenshot.
And describe your problems
Fgetcsv and str_getcsv can all be well processed.
Http://pan.baidu.com/s/1sjEcrM1
The above is the document link, mainly how to handle line breaks in the content
$fp = fopen('Order_2015-12-01_113045.csv', 'r');while($buf = fgetcsv($fp, '"', ';')) { $res[] = $buf;}print_r($res);
Array ([0] => Array ([0] => random "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 instances [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] => 14:09:14 [5] => 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 50 M 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] the result of the element is incorrect due to the influence of the BOM header.
It's normal to remove it.
Array( [0] => Array ( [0] => Order Item Id [1] => Lazada Id ......
How can I remove the BOM header? should I use the text editing software? How can I remove it with PHP?
$ Fp = fopen('order_2015-1_511113045.csv ', 'r ');
Fseek ($ fp, 3); // This removes
While ($ buf = fgetcsv ($ fp ,'"',';')){
$ Res [] = $ buf;
}
Print_r ($ res );
Not removed, yesSkip