मेरे पास एक स्क्रिप्ट है जो लाइन द्वारा बड़ी फाइलों को पार करती है। जब यह किसी त्रुटि से मुकाबला करता है जिसे वह संभाल नहीं सकता है, तो यह बंद हो जाता है, हमें अंतिम पंक्ति के बारे में सूचित करता है।fseek() लाइन से, बाइट्स नहीं?
क्या यह वास्तव में फ़ाइल में एक विशिष्ट पंक्ति की तलाश करने का सबसे अच्छा/एकमात्र तरीका है? (। fseek()
मेरे मामले में प्रयोग करने योग्य नहीं है)
<?php
for ($i = 0; $i < 100000; $i++)
fgets($fp); // just discard this
मैं इस का उपयोग कर एक समस्या नहीं है, यह काफी तेज है - यह सिर्फ एक सा गंदा लगता है। अंतर्निहित कोड के बारे में मुझे क्या पता है, मुझे कल्पना नहीं है कि ऐसा करने का एक बेहतर तरीका है।
अच्छा! कुछ समय पहले इसने आया और इसका उपयोग करना शुरू कर दिया। – jasonbar
इस मामले में, दी गई लाइन तक पहुंचने के लिए लाइन 1 - 9, 999 के माध्यम से चलने के बिना सीधे लाइन 10,000 पढ़ेगी? – Googlebot
@ एली: नहीं, आपको कैसे लगता है कि यह जानता है कि लाइनें कहां से शुरू होती हैं? यह फ़ाइल के माध्यम से पढ़ता है। यदि आप सीधे एक लाइन की तलाश करना चाहते हैं तो अन्य विकल्प भी हैं, लेकिन फ़ाइल में कहां से शुरू होने वाली लाइनों का ट्रैक रखने के लिए संभावित जटिल सिस्टम शामिल हैं। – salathe