इस अध्याय में हम सीखेंगे कि सर्वर पर फाइल कैसे create और write की जाती है।
PHP File Create - fopen()
फ़ाइल create करने के लिए fopen() फ़ंक्शन का भी उपयोग किया जाता है। शायद थोड़ा confusing करने वाला लग रहा होगा, लेकिन PHP में, फ़ाइलों को open करने के लिए उपयोग किए जाने वाले fopen() फ़ंक्शन का उपयोग करके एक फ़ाइल बनाई जाती है।
अगर आपने पिछली PHP File Open and Read को ध्यान से देखा होगा तो PHP Open File Mode सेक्शन में फाइल के $mode को Specified किया है। जिसमे यदि आप किसी ऐसी फ़ाइल पर fopen() का उपयोग करते हैं जो मौजूद नहीं है, तो यह इसे बनाएगी, यह देखते हुए कि फ़ाइल writing (w) या appending (a) के लिए खोली गई है।
<?php$myfile = fopen("D:\\Documents\\abbreviation.txt", "w");?>
ऊपर दिया गया उदाहरण "abbreviation.txt" नामक एक नई फ़ाइल बनाएगा D drive के Documents फोल्डर में क्योंकि हमने उस फाइल को ओपन करने का कोशिश किया जो कि पहले से मौजूद नहीं है।
PHP Write File - fwrite()
फ़ाइल में लिखने के लिए fwrite() फ़ंक्शन का उपयोग किया जाता है।
fwrite() फ़ंक्शन के पहले पैरामीटर में लिखने के लिए फ़ाइल का नाम होता है और दूसरा पैरामीटर लिखा जाने वाला string होता है।
<?php// फ़ाइल को open किया write mode में$myfile = fopen("D:\\Documents\\abbreviation.txt", "w") or die("Unable to open file!");
// myfile में नया स्ट्रिंग लिखना $newtxt = "PHP = Hypertext Preprocessor\n";fwrite($myfile, $newtxt);
// myfile में नया स्ट्रिंग लिखना दूसरा $newtxt = "HTML = Hypertext Markup Language\n";fwrite($myfile, $newtxt);
// फ़ाइल close करनाfclose($myfile);?>
PHP = Hypertext Preprocessor
HTML = Hypertext Markup Language
ऊपर दिए गए उदाहरण में हमारे पास abbreviation.txt नाम का फाइल पहले से मौजूद नहीं, तो अब जैसे ही हम इस कोड को एकजुट करेंगे write only (w) मोड में तो यह एक फाइल बना लेगा abbreviation.txt के नाम से D drive के डॉक्यूमेंट फोल्डर में।
PHP Overwriting
अब ऊपर के उदाहरण को एक्सक्यूट करने के बाद अब हमारे पास एक फाइल बन गई है abbreviation.txt नाम से और उसमें कुछ डाटा पहले से मौजूद है अब अगर हम उस फाइल को ओपन करते हैं write only (w) मोड में तो उसमें मौजूद सारे डाटा डिलीट हो जाएंगे।
<?php// फ़ाइल को open किया write mode में$myfile = fopen("D:\\Documents\\abbreviation.txt", "w") or die("Unable to open file!");
// फ़ाइल close करनाfclose($myfile);?>
अगर ऊपर दिए गए कोड को एक्सक्यूट करेंगे और उसके बाद अगर हम abbreviation.txt फाइल को ओपन करेंगे तो देखेंगे उस फाइल की सारी डाटा डिलीट हो चुकी हैं।
<?php// फ़ाइल को open किया write mode में$myfile = fopen("D:\\Documents\\abbreviation.txt", "w") or die("Unable to open file!");
// myfile में नया स्ट्रिंग लिखना$newtxt = "Artificial Intelligence\n";fwrite($myfile, $newtxt);
// myfile में नया स्ट्रिंग लिखना दूसरा$newtxt = "Arithmetic Logic Unit\n";fwrite($myfile, $newtxt);
// फ़ाइल close करनाfclose($myfile);?>
Artificial Intelligence
Arithmetic Logic Unit
जैसे कि ऊपर दिए गए कई उदाहरणों से हम समझ चुके हैं कि abbreviation.txt नाम का फाइल पहले से मौजूद है। अब जैसे हैं हम ऊपर दिए गए उदाहरण को एक्सक्यूट करते हैं तो उस फाइल में पहले से मौजूद सारे डाटा डिलीट हो जाएंगे और नया डाटा उसमें आ जाएगा यानी कि पुराने डाटा को ओवरराइड कर दिया गया है ने डाटा से।
PHP Append
जैसा नाम से ही आप समझ सकते हैं इसका काम है फाइल के डाटा को Append करना यानी कि नए डाटा को जोड़ना। और यदि फाइल पहले से मौजूद ना हो तो नया फाइल बनाना फिर उसमें डाटा जोड़ना
इसका काम भी write only (w) की तरह ही है फर्क सिर्फ इतना है कि अगर हम ओपन मोड में w का इस्तेमाल करते हैं तो वह फाइल में मौजूद सारे डेटा को डिलीट कर देता है और यदि हम फाइल मोड में a मोड का इस्तेमाल करते हैं तो वह फाइल को डिलीट नहीं करता है और डाटा के सबसे लास्ट में नए स्ट्रिंग को जोड़ देता है।
इसको अच्छे से समझने के लिए हम नीचे एक उदाहरण को देखते हैं।
<?php// फ़ाइल को open किया write mode में$myfile = fopen("D:\\Documents\\abbreviation.txt", "a") or die("Unable to open file!");
// myfile में नया स्ट्रिंग लिखना$newtxt = "Sarvepalli Radhakrishnan\n";fwrite($myfile, $newtxt);
// myfile में नया स्ट्रिंग लिखना दूसरा$newtxt = "Swami Vivekananda\n";fwrite($myfile, $newtxt);
// myfile में नया स्ट्रिंग लिखना तीसरा$newtxt = "Adi Shankara\n";fwrite($myfile, $newtxt);
// फ़ाइल close करनाfclose($myfile);?>
Artificial Intelligence
Arithmetic Logic Unit
Sarvepalli Radhakrishnan
Swami Vivekananda
Adi Shankara
ऊपर दिए गए उदाहरण में आपने देखा कि पहले से मौजूद डाटा डिलीट नहीं हुई है बल्कि उसमें नए डाटा और जुड़ चुकी है।
Reference: https://www.php.net/manual/en/function.fwrite.php
PHP close File - fclose()
किसी भी खुली हुई फ़ाइल को बंद करने के लिए fclose()
फ़ंक्शन का उपयोग किया जाता है।
fclose() फंक्शन को फ़ाइल के नाम की आवश्यकता होती है या उस variable की जिसमे फ़ाइल का नाम स्टोर है, जिसे हम बंद करना चाहते हैं: