PHP में फ़ाइलों के साथ काम करें: 20 मिनट में शुरुआत से विशेषज्ञ तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

PHP में फ़ाइलों के साथ काम करना क्यों ज़रूरी है हर डेवलपर के लिए

\n\n

सोचिए: आप एक ऑनलाइन स्टोर बना रहे हैं। ग्राहक अपनी प्रोफ़ाइल फोटो अपलोड करता है, एडमिन CSV फ़ाइल में प्रोडक्ट्स एक्सपोर्ट करता है, और सिस्टम हर एक्टिविटी को लॉग करता है। PHP में फ़ाइल सिस्टम के साथ काम करना न आने पर ये काम सिरदर्द बन जाएंगे। लेकिन अगर आप बेसिक तकनीक सीख लेंगे, तो आप सर्वर पर डेटा को उतनी ही आसानी से मैनेज कर पाएंगे, जितनी आसानी से आप फोन पर नोट्स एडिट करते हैं।

\n\n

इस आर्टिकल में हम PHP में फ़ाइलों के साथ काम करना सरल से जटिल तक सीखेंगे। आप जानेंगे कि डेटा कैसे पढ़ें और लिखें, एक्सेस परमिशन कैसे चेक करें, सर्वर पर फ़ाइलें कैसे अपलोड करें और सामान्य गलतियों से कैसे बचें। चलिए शुरू करते हैं!

\n\n

PHP फ़ाइल सिस्टम की बुनियादी बातें

\n\n

कोड में गोता लगाने से पहले, आइए उन मुख्य फंक्शन को समझें जो PHP हमें देता है। इन्हें तीन समूहों में बांटा जा सकता है:

\n\n
    \n
  • जाँच और मेटाडेटा — फ़ाइल मौजूद है या नहीं, उसका साइज़, टाइप और एक्सेस परमिशन क्या है।
  • \n
  • पढ़ना और लिखना — फ़ाइल खोलना, एक लाइन पढ़ना, डेटा लिखना, फ़ाइल बंद करना।
  • \n
  • फ़ाइल स्ट्रक्चर मैनेजमेंट — फ़ाइलें और फ़ोल्डर बनाना, उनका नाम बदलना, डिलीट करना।
  • \n
\n\n

PHP में फ़ाइलों के साथ काम करने के लिए ज़्यादातर ऑपरेशन के लिए सिर्फ एक-दो लाइन कोड की ज़रूरत होती है। लेकिन कॉन्टेक्स्ट समझना ज़रूरी है: आपकी स्क्रिप्ट के सापेक्ष फ़ाइल कहाँ है, वेब सर्वर के पास क्या परमिशन हैं, और एरर को कैसे हैंडल करना है।

\n\n

फ़ाइल के अस्तित्व और एक्सेस परमिशन की जाँच

\n\n

किसी भी ऑपरेशन से पहले सबसे पहले यह सुनिश्चित करें कि फ़ाइल मौजूद है। इसके लिए file_exists() का उपयोग करें:

\n\n
<?php\n$filename = 'config.php';\n\nif (file_exists($filename)) {\n    echo "फ़ाइल $filename मिल गई!";\n} else {\n    echo "फ़ाइल मौजूद नहीं है";\n}\n?>
\n\n

लेकिन सिर्फ मौजूद होना काफी नहीं है। यह जाँचना ज़रूरी है कि इसे पढ़ा या लिखा जा सकता है या नहीं। इसके लिए is_readable() और is_writable() हैं:

\n\n
<?php\n$file = 'data.txt';\n\nif (is_readable($file)) {\n    echo "पढ़ा जा सकता है";\n}\nif (is_writable($file)) {\n    echo "लिखा जा सकता है";\n}\n?>
\n\n

प्रोडक्शन में PHP में फ़ाइलों के साथ काम करते समय यह विशेष रूप से महत्वपूर्ण है — एक्सेस परमिशन (chmod) अक्सर 'Permission denied' एरर का कारण बनते हैं।

\n\n

PHP में फ़ाइलें पढ़ना: हर ज़रूरत के लिए तीन तरीके

\n\n

पढ़ना सबसे आम ऑपरेशन है। PHP कई तरीके प्रदान करता है, जिनमें से प्रत्येक अपनी स्थिति में उपयोगी है।

\n\n

तरीका 1: file_get_contents — छोटी फ़ाइलों के लिए

\n\n

अगर आपको पूरी फ़ाइल को एक स्ट्रिंग में पढ़ना है, तो यह सबसे अच्छा विकल्प है। सरल, तेज़, बिना किसी अतिरिक्त झंझट के:

\n\n
<?php\n$content = file_get_contents('readme.txt');\necho $content;\n?>
\n\n

यह कॉन्फ़िग फ़ाइलों, टेम्पलेट्स, छोटे लॉग के लिए बढ़िया है। लेकिन अगर फ़ाइल 200 MB की है, तो इसका उपयोग न करें — सर्वर की मेमोरी आपका शुक्रिया अदा करेगी।

\n\n

तरीका 2: fopen + fgets — बड़ी फ़ाइलों के लिए

\n\n

जब आपको एक बड़ी CSV फ़ाइल या गीगाबाइट साइज़ के लॉग को प्रोसेस करना हो, तो लाइन-बाय-लाइन पढ़ने का उपयोग करें। यह पूरी फ़ाइल को मेमोरी में लोड नहीं करता:

\n\n
<?php\n$handle = fopen('bigfile.log', 'r');\nif ($handle) {\n    while (($line = fgets($handle)) !== false) {\n        // हर लाइन को अलग-अलग प्रोसेस करें\n        echo $line . "<br>";\n    }\n    fclose($handle);\n} else {\n    echo "फ़ाइल खोलने में त्रुटि";\n}\n?>
\n\n

ध्यान दें: हम fclose() से फ़ाइल को ज़रूर बंद करते हैं। इससे सिस्टम रिसोर्सेज़ खाली हो जाते हैं।

\n\n

तरीका 3: file() — लाइनों की ऐरे में पढ़ना

\n\n

अगर हर लाइन एक अलग एंट्री है (जैसे ईमेल पतों की सूची), तो सीधे एक ऐरे प्राप्त कर सकते हैं:

\n\n
<?php\n$lines = file('users.txt');\nforeach ($lines as $line_num => $line) {\n    echo "लाइन #{$line_num}: " . htmlspecialchars($line) . "<br>";\n}\n?>
\n\n

यह तरीका सुविधाजनक है, लेकिन file_get_contents की तरह, यह भी पूरी फ़ाइल को मेमोरी में लोड करता है।

ब्लॉग

पुस्तक अनुशंसाएँ