PHP में फ़ाइल सिस्टम के साथ काम करना: बुनियादी से वास्तविक प्रोजेक्ट तक
\n\nफ़ाइल सिस्टम के साथ काम करना किसी भी वेब डेवलपर के लिए एक मुख्य कार्य है। PHP में इसके लिए शक्तिशाली बिल्ट-इन फ़ंक्शन का सेट मौजूद है, जो फ़ाइलों को बनाने, पढ़ने, संपादित करने और हटाने के साथ-साथ डायरेक्टरी को मैनेज करने की सुविधा देता है। इस आर्टिकल में हम व्यावहारिक उदाहरणों के साथ PHP में फ़ाइलों के साथ काम करना सीखेंगे और इन ज्ञान को वास्तविक प्रोजेक्ट में लागू करेंगे।
\n\nचाहे आप लॉगिंग सिस्टम बना रहे हों, फ़ाइल अपलोडर बना रहे हों, या यूज़र डेटा सेव कर रहे हों, PHP में फ़ाइल सिस्टम की बुनियादी समझ होना ज़रूरी है। चलिए अभ्यास की ओर बढ़ते हैं।
\n\nफ़ाइलों के साथ काम करने के मुख्य फ़ंक्शन
\n\nPHP फ़ाइलों के साथ इंटरैक्ट करने के कई तरीके प्रदान करता है। सबसे लोकप्रिय हैं fopen, fwrite, fread और हाई-लेवल फ़ंक्शन file_get_contents और file_put_contents का उपयोग। आइए इन्हें उदाहरणों के साथ देखें।
फ़ाइल बनाना और उसमें लिखना
\n\nफ़ाइल बनाने और उसमें लिखने के लिए fopen फ़ंक्शन का उपयोग 'w' मोड (साफ़ करके लिखना) या 'a' मोड (अंत में जोड़ना) के साथ करें।
<?php\n$filename = 'log.txt';\n$file = fopen($filename, 'w');\n\nif ($file) {\n fwrite($file, "लाइन 1: फ़ाइल में लिखना\\n");\n fwrite($file, "लाइन 2: एक और लिखावट\\n");\n fclose($file);\n echo "फ़ाइल सफलतापूर्वक बनाई और लिखी गई।";\n} else {\n echo "फ़ाइल खोलने में त्रुटि।";\n}\n?>\n\nअगर आपको पॉइंटर को मैनेज किए बिना जल्दी से डेटा लिखना है, तो file_put_contents का उपयोग करें:
<?php\n$data = "फ़ाइल के लिए नया कंटेंट।\\nदूसरी लाइन।";\nfile_put_contents('data.txt', $data);\necho "डेटा लिखा गया।";\n?>\n\nफ़ाइल पढ़ना
\n\nफ़ाइल को लाइन दर लाइन पढ़ने के लिए लूप में fgets का उपयोग करें:
<?php\n$file = fopen('log.txt', 'r');\nif ($file) {\n while (($line = fgets($file)) !== false) {\n echo $line . "<br>";\n }\n fclose($file);\n}\n?>\n\nवैकल्पिक रूप से, पूरे कंटेंट को एक स्ट्रिंग में पढ़ने के लिए file_get_contents का उपयोग करें:
<?php\n$content = file_get_contents('log.txt');\necho nl2br($content);\n?>\n\nफ़ाइलों के अस्तित्व और गुणों की जाँच
\n\nफ़ाइल के साथ काम करने से पहले यह सुनिश्चित करना ज़रूरी है कि वह मौजूद है और पढ़ने या लिखने के लिए उपलब्ध है। PHP file_exists, is_readable, is_writable और filesize फ़ंक्शन प्रदान करता है।
फ़ाइल जाँच का उदाहरण
\n\n<?php\n$file = 'config.php';\n\nif (file_exists($file)) {\n echo "फ़ाइल मौजूद है।<br>";\n \n if (is_readable($file)) {\n echo "फ़ाइल पढ़ने के लिए उपलब्ध है।<br>";\n echo "फ़ाइल का आकार: " . filesize($file) . " बाइट्स।";\n } else {\n echo "फ़ाइल मौजूद है, लेकिन पढ़ने के लिए उपलब्ध नहीं है।";\n }\n} else {\n echo "फ़ाइल नहीं मिली।";\n}\n?>\n\nफ़ाइल प्रकार की जाँच
\n\nfiletype फ़ंक्शन फ़ाइल का प्रकार लौटाता है: 'file', 'dir', 'link' और अन्य।
<?php\n$path = 'uploads';\nif (file_exists($path)) {\n echo "प्रकार: " . filetype($path); // अगर यह फ़ोल्डर है तो 'dir' दिखाएगा\n}\n?>\n\nडायरेक्टरी प्रबंधन
\n\nPHP में फ़ोल्डरों के साथ काम करना भी उतना ही महत्वपूर्ण है। आप डायरेक्टरी बना सकते हैं, हटा सकते हैं और स्कैन कर सकते हैं।
\n\nफ़ोल्डर बनाना और हटाना
\n\n<?php\n// फ़ोल्डर बनाना\nif (!file_exists('backup')) {\n mkdir('backup', 0777, true); // तीसरा पैरामीटर true — रिकर्सिव क्रिएशन\n echo "फ़ोल्डर बनाया गया।";\n}\n\n// खाली फ़ोल्डर हटाना\nif (file_exists('temp')) {\n rmdir('temp');\n echo "फ़ोल्डर हटाया गया।";\n}\n?>\n\nडायरेक्टरी की सामग्री स्कैन करना
\n\nscandir फ़ंक्शन सभी फ़ाइलों और फ़ोल्डरों की एक ऐरे लौटाता है।