PHP में फ़ाइल सिस्टम के साथ कार्य: फ़ंक्शन और उदाहरण

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

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

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

PHP में फ़ाइल सिस्टम के साथ कार्य: मुख्य फ़ंक्शन और उदाहरण



फ़ाइल सिस्टम के साथ कार्य वेब डेवलपमेंट के प्रमुख कार्यों में से एक है। PHP फ़ाइलों और फ़ोल्डरों को बनाने, पढ़ने, लिखने, हटाने और एक्सेस अधिकारों के प्रबंधन के लिए एक शक्तिशाली और लचीला फ़ंक्शन सेट प्रदान करता है। इस लेख में, हम फ़ाइल सिस्टम के साथ कार्य करने के लिए PHP की मुख्य क्षमताओं को समझेंगे, व्यावहारिक उदाहरण देंगे और सामान्य त्रुटियों पर विचार करेंगे।



1. PHP में फ़ाइलें पढ़ना



PHP फ़ाइलों से डेटा पढ़ने के कई तरीकों का समर्थन करता है। विधि का चुनाव फ़ाइल के आकार और आवश्यक नियंत्रण स्तर पर निर्भर करता है।



1.1. file_get_contents() फ़ंक्शन

पूरी फ़ाइल को एक स्ट्रिंग में पढ़ने का सबसे सरल तरीका file_get_contents() का उपयोग करना है। यह फ़ंक्शन छोटी फ़ाइलों (कॉन्फ़िगरेशन, टेम्पलेट) के लिए उपयुक्त है।



<?php// पूरी फ़ाइल को स्ट्रिंग में पढ़ना$content = file_get_contents('data.txt');if ($content !== false) {    echo "फ़ाइल की सामग्री: " . htmlspecialchars($content);} else {    echo "फ़ाइल पढ़ने में त्रुटि";}?>


1.2. file() फ़ंक्शन

यदि आप फ़ाइल की सामग्री को स्ट्रिंग्स की एक सरणी (प्रति पंक्ति एक तत्व) के रूप में प्राप्त करना चाहते हैं, तो file() का उपयोग करें।



<?php$lines = file('log.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);foreach ($lines as $lineNum => $line) {    echo "पंक्ति " . ($lineNum + 1) . ": " . htmlspecialchars($line) . "<br>";}?>


1.3. fopen() + fgets() के साथ पंक्ति दर पंक्ति पढ़ना

बड़ी फ़ाइलों (जैसे लॉग) के लिए, पूरी फ़ाइल को मेमोरी में न रखने के लिए स्ट्रीमिंग रीडिंग का उपयोग करना बेहतर है।



<?php$handle = fopen('large_file.csv', 'r');if ($handle) {    while (($buffer = fgets($handle, 4096)) !== false) {        echo $buffer . "<br>";    }    fclose($handle);} else {    echo "फ़ाइल खोलने में विफल";}?>


2. फ़ाइलों में डेटा लिखना



लेखन भी विभिन्न तरीकों से किया जा सकता है। मुख्य अंतर फ़ाइल को ओवरराइट करना या अंत में जोड़ना है।



2.1. file_put_contents() फ़ंक्शन

फ़ाइल में स्ट्रिंग लिखने का त्वरित तरीका। यदि फ़ाइल मौजूद नहीं है, तो इसे बनाया जाएगा। डिफ़ॉल्ट रूप से, फ़ाइल ओवरराइट हो जाती है।



<?php$data = "नई प्रविष्टि: " . date('Y-m-d H:i:s') . "";// फ़ाइल को ओवरराइट करनाfile_put_contents('log.txt', $data);// अंत में जोड़ना (फ़्लैग FILE_APPEND)file_put_contents('log.txt', $data, FILE_APPEND);?>


2.2. fopen() + fwrite() के माध्यम से मैन्युअल लेखन

बारीक नियंत्रण (जैसे फ़ाइल लॉकिंग) के लिए, fopen() / fwrite() जोड़ी का उपयोग करें।



<?php$filename = 'counter.txt';$handle = fopen($filename, 'c+'); // 'c+' — यदि फ़ाइल नहीं है तो बनाता हैif (flock($handle, LOCK_EX)) { // एक्सक्लूसिव लॉक    $current = (int) fread($handle, filesize($filename) ?: 1);    $current++;    ftruncate($handle, 0); // फ़ाइल साफ़ करें    rewind($handle);    fwrite($handle, $current);    flock($handle, LOCK_UN); // लॉक हटाएँ}fclose($handle);echo "काउंटर: $current";?>


3. डायरेक्टरी के साथ कार्य



PHP न केवल फ़ाइलों को प्रबंधित करने की अनुमति देता है, बल्कि फ़ोल्डरों को बनाने, हटाने और देखने की भी अनुमति देता है।



3.1. फ़ोल्डर बनाना (mkdir)

<?php// एक फ़ोल्डर बनाएँif (!is_dir('uploads')) {    mkdir('uploads', 0755);}// नेस्टेड फ़ोल्डरों का रिकर्सिव निर्माण (PHP 5.4+)mkdir('images/2024/12', 0755, true);?>


3.2. फ़ोल्डर हटाना (rmdir)

rmdir() केवल खाली फ़ोल्डर को हटाता है। सभी सामग्री सहित फ़ोल्डर को हटाने के लिए एक रिकर्सिव फ़ंक्शन की आवश्यकता होती है।



<?phpfunction deleteDirectory($dir) {    if (!file_exists($dir)) {        return true;    }    if (!is_dir($dir)) {        return unlink($dir);    }    $items = array_diff(scandir($dir), ['.', '..']);    foreach ($items as $item) {                 

ब्लॉग

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