2011-03-18 13 views
6

मुझे एक PHP फॉर्म के माध्यम से अपलोड की गई CSV फ़ाइल का उपयोग करने में समस्या आ रही है। जब मैं चर $data पूछताछ कर रहा हूँ ऐसा लगता है CSV फ़ाइल की सामग्री एक पंक्ति के लिए लिखा है, बल्कि कई पंक्तियों से,सीएसवी आयात; सभी मान एक पंक्ति है

$row = 1; 
if (($handle = fopen($_FILES['csv']['tmp_name'], "r")) !== FALSE) { 
    while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { 
     $num = count($data); 
     echo "<p> $num fields in line $row: <br /></p>\n"; 
     $row++; 
     for ($c=0; $c < $num; $c++) { 
      echo $data[$c] . "<br />\n"; 
     } 
    } 
    fclose($handle); 
} 

केवल समस्या यह है: यहाँ कोड है। नतीजतन, मुझे 228 कॉलम मानों की एक सरणी मिलती है।

यह क्यों है? क्या मेरी PHP स्क्रिप्ट सही ढंग से एक नई लाइन का पता नहीं लगा रही है? यदि हां, तो क्या इस व्यवहार को ठीक करने का कोई विकल्प है?

ini_set('auto_detect_line_endings', true); 

उत्तर

6

सबसे अधिक संभावना समस्या अपने स्रोत डेटा में लाइन अंत है:

+0

यही वह है; धन्यवाद! –

+0

इसके लिए धन्यवाद - प्रश्न और उत्तर दोनों, निराशा में सिर में खुद को छिड़कने वाला था – Polsonby

12

auto_detect_line_endings आरं सच करने के लिए सेटिंग सेट करें। क्या आप परीक्षण कर रहे डेटा की पुष्टि या उन्मूलन के लिए कई कॉलम और पंक्तियों के साथ एक परीक्षण सीएसवी फ़ाइल बना सकते हैं?

यह भी देखें: http://www.php.net/manual/en/filesystem.configuration.php#ini.auto-detect-line-endings

संबंधित मुद्दे