2010-04-06 8 views

उत्तर

8

हाँ, आप अपने पैरामीटर में टैब "\ t" निर्दिष्ट कर सकते हैं। doc देखें।

while (($data = fgetcsv($handle, 1000, "\t")) !== FALSE) 
34
$csvData = fgetcsv($fileHandle, 0, "\t"); 

कहाँ $fileHandle एक मान्य फ़ाइल हैंडल है। 0 केवल फ़ंक्शन को बताने के लिए है कि लाइनों के माध्यम से खोज सीमित न करें (हालांकि आप इसे सूट के लिए बदल सकते हैं, docs कहें कि कोई सीमा लागू करने से प्रदर्शन कम हो जाता है)।

+0

मैक के लिए टैब डिलीमीटर अलग है? – Brian

+0

@ ब्रायन मेरे पास एक त्वरित Google है, और मुझे ऐसा नहीं लगता है। आम तौर पर यह सिर्फ लाइन एंडिंग और लाइन फ़ीड्स है। – alex

+0

मुझे यह त्रुटि मिलती है जब डेलीमीटर के लिए "\ t" का उपयोग करने का प्रयास किया जाता है? fgetcsv(): delimiter एक एकल वर्ण होना चाहिए –

12

"\ t" के चारों ओर डबल कोट्स का उपयोग करना सुनिश्चित करें, सिंगल कोट्स काम नहीं करेंगे।

$fh = fopen($file, 'r'); 
while ($line = fgetcsv($fh, 0, "\t") !== false) { 
    // do stuff 
} 
+0

के साथ काम कर रहा है आपके 'while' लूप स्टेटमेंट में दो कोष्ठक गुम हैं। यह 'जबकि (और $ line = fgetcsv ($ fh, 0," \ t ")) की तरह दिखना चाहिए: == झूठी) ', अन्यथा' $ line' को बूलियन के रूप में वापस कर दिया जाएगा। – user555

+0

यह एक उत्सुक उदाहरण है, क्योंकि * हाँ * यह लिखित रूप में 100% समय काम करता है, लेकिन यह काम नहीं कर सकता है * व्याख्या की गई * –

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