PHP में फ़ाइलों के साथ कार्य करना: खोलना, लिखना, पढ़ना। PHP का उपयोग करके फ़ाइलों को ठीक से कैसे पढ़ें PHP फ़ाइल को लिखना और पढ़ना

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

परिणाम को PHP में फ़ाइलों के साथ काम करनाइस कदर:

  1. खुली फाइल।
  2. आवश्यक कार्यवाही करें.
  3. फ़ाइल बंद करें.

जैसा कि आप देख सकते हैं, फ़ाइलों के साथ काम करने का क्रम एक नियमित एक्सप्लोरर के माध्यम से फ़ाइलों के साथ काम करने जैसा है। बस यहीं सारा काम अपने आप ही हो जाता है पीएचपी स्क्रिप्ट.

आइए पहले बिंदु से शुरू करें - फ़ाइल खोलना। फ़ाइल को इसके साथ खोला गया है fopen() फ़ंक्शंस. पहला पैरामीटर फ़ाइल पथ है और दूसरा पैरामीटर है संशोधक. आइए तुरंत संभावित संशोधकों पर नजर डालें:

  1. - फ़ाइल को केवल लिखने के लिए खोलता है, फ़ाइल के अंत में पॉइंटर लगाकर।
  2. ए+ , लेकिन फ़ाइल पढ़ने के लिए भी खुलती है।
  3. आर- फ़ाइल को केवल-पढ़ने के लिए खोलता है, और पॉइंटर को फ़ाइल की शुरुआत में सेट किया जाता है।
  4. आर+- संशोधक के समान आर, लेकिन फ़ाइल लिखने के लिए भी खोली गई है।
  5. डब्ल्यू- फ़ाइल को केवल लिखने के लिए खोलता है, पॉइंटर को फ़ाइल की शुरुआत में सेट करता है और फ़ाइल की संपूर्ण सामग्री मिटा देता है।
  6. डब्ल्यू+- संशोधक के समान डब्ल्यू, केवल फ़ाइल भी पढ़ने के लिए खोली जाती है।

फ़ाइलों के साथ काम करने के भी दो तरीके हैं: द्विआधारी(संकेतित बी) और मूलपाठ(संकेतित टी). यदि आप एक नियमित टेक्स्ट फ़ाइल के साथ काम कर रहे हैं, तो टेक्स्ट मोड का चयन करें, और यदि, उदाहरण के लिए, एक छवि के साथ, तो बाइनरी मोड का चयन करें।

ये सभी बुनियादी संशोधक हैं, जो आपके लिए पर्याप्त होंगे। आइए अब सीखते हैं कि किसी फ़ाइल को कैसे बंद करें। फ़ाइल को इसके साथ बंद कर देता है fclose() फ़ंक्शन.

अब फ़ाइल का उपयोग करके पढ़ने के लिए आगे बढ़ते हैं फ़्रेड() फ़ंक्शंस. और अंततः मैं आपको एक उदाहरण देता हूँ:

$सामग्री = "";
जबकि (!feof($हैंडल))
$सामग्री .= फ़्रेड($हैंडल, 4096);
fclose($हैंडल);
?>

इस उदाहरण में, हम सबसे पहले फ़ाइल को टेक्स्ट मोड (संशोधक) में पढ़ने के लिए खोलते हैं आर टी). fopen() फ़ंक्शनतथाकथित लौटाता है डिस्क्रिप्टर, जिसके साथ आप फ़ाइल के साथ संचार कर सकते हैं, और इसे एक वेरिएबल में लिख सकते हैं सँभालना. फिर हम एक लूप में हैं जबकि()फ़ाइल के अंत तक पहुंचने तक, हम हर बार सामग्री को पढ़ते हैं 4096 वे अक्षर जिन्हें हम वेरिएबल में लिखते हैं अंतर्वस्तु. पढ़ने की प्रक्रिया पूरी होने के बाद, फ़ाइल डिस्क्रिप्टर का उपयोग करके फ़ाइल को फिर से बंद करें।

अब चलिए रिकॉर्डिंग का उपयोग करते हुए आगे बढ़ते हैं fwrite() फ़ंक्शन:

$हैंडल = fopen('files/a.txt', 'at');
$string = "यह टेक्स्ट है";
fwrite($हैंडल, $स्ट्रिंग);
fclose($हैंडल);
?>

इस स्क्रिप्ट को चलाने के बाद फ़ाइल में a.txtलाइन "जोड़ी जाएगी यह पाठ है".

विशेष रूप से चौकस पाठकों ने उन संकेतकों पर ध्यान दिया जिनके बारे में मैंने ऊपर लिखा था। सूचक- यह फ़ाइल में काल्पनिक "कर्सर" की वर्तमान स्थिति है। यहीं से फ़ाइल के साथ काम शुरू होता है। आप इसका उपयोग करके पॉइंटर की स्थिति बदल सकते हैं fseek() फ़ंक्शन:

$हैंडल = fopen('files/a.txt', 'rt');
प्रतिध्वनि $सामग्री।"
";
fseek($हैंडल, 0, SEEK_SET);
$सामग्री = फ़्रेड($हैंडल, 3);
प्रतिध्वनि $सामग्री।"
";
?>

तो सबसे पहले हम पढ़ते हैं 3 चरित्र (परिणामस्वरूप, वर्तमान सूचक स्थिति को स्थानांतरित कर दिया गया है 3 पद)। फिर हम पॉइंटर को फ़ाइल की शुरुआत में सेट करते हैं। और हम फिर से पढ़ते हैं 3 प्रतीक। जैसा कि आपने अनुमान लगाया होगा, हमने एक ही चीज़ को दो बार गिना। वह पहली बार है 3 प्रतीक, फिर वापस गया और फिर से गिना 3 प्रतीक। इसके अलावा यदि आप fseek() फ़ंक्शनप्रतिस्थापित करें SEEK_SETपर SEEK_CUR, तो दूसरा पैरामीटर पॉइंटर स्थिति सेट नहीं करेगा, बल्कि इसे वर्तमान स्थान के सापेक्ष स्थानांतरित कर देगा। मैं आपको पॉइंटर्स के साथ अभ्यास करने की सलाह भी देता हूं, क्योंकि इसे समझना इतना आसान नहीं है। मैं पॉइंटर स्थिति में फ़ाइल में कुछ लिखने का प्रयास करने की भी अनुशंसा करता हूं, उदाहरण के लिए, फ़ाइल की शुरुआत में। और अपने परिणामों की व्याख्या करना सुनिश्चित करें।

और अंत में, मैं कुछ और फ़ंक्शन देना चाहूंगा जो आपको सरलतम स्तर पर फ़ाइलों के साथ काम करने की अनुमति देते हैं: फ़ाइल_पुट_कंटेंस()और फ़ाइल_get_contents(). समारोह फ़ाइल_पुट_सामग्री()किसी फ़ाइल और फ़ंक्शन को लिखता है फ़ाइल_get_contents()किसी फ़ाइल से सामग्री पढ़ता है. इन कार्यों का उपयोग करना बहुत आसान है, लेकिन विकल्प कम हैं (हालाँकि, एक नियम के रूप में, उनकी आवश्यकता नहीं है):

file_put_contents('files/a.txt', 'यह टेक्स्ट 2 है');
इको फ़ाइल_गेट_कंटेंट्स ("फ़ाइलें/ए.txt");
?>

इस स्क्रिप्ट में, हमने सबसे पहले पंक्ति लिखी थी " यह पाठ 2 है"एक फ़ाइल में, और फिर हम परिणामी सामग्री को पढ़ते हैं और उसे आउटपुट करते हैं। जैसा कि आप देख सकते हैं, एक सरल तरीका निकालना मुश्किल है फ़ाइल से पढ़नाऔर फाइल करने के लिए लिखें.

ये हैं सभी मुख्य बिंदु PHP में फ़ाइलों के साथ काम करना.

MySQL और Access डेटाबेस तेजी से सार्वजनिक रूप से उपलब्ध डेटा भंडारण उपकरण बन रहे हैं। लेकिन 1990 के दशक की शुरुआत में, PHP में फ़ाइलों के साथ काम करना लोकप्रिय था, CSV स्वरूपित पाठ फ़ाइलों में रिकॉर्ड को नई पंक्तियों से अलग करके सहेजना।

बुनियादी संचालन सिद्धांत

डेटाबेस सुविधाजनक हैं, लेकिन प्रत्येक डेवलपर को कम से कम फ़ाइलों को पढ़ने और लिखने का कुछ बुनियादी ज्ञान होना चाहिए। बहुत से लोग इस प्रश्न के बारे में सोच रहे होंगे: “मुझे यह जानने की आवश्यकता क्यों है? यदि मैं फ़ाइलों का उपयोग कर रहा हूँ, तो वे XML में लिखी गई हैं और मैं केवल पार्सर का उपयोग करता हूँ।"

तो यहां कुछ कारण बताए गए हैं कि आपको फ़ाइलों की आवश्यकता क्यों पड़ सकती है:

  1. बाइनरी डेटा (जैसे छवि फ़ाइलें) को BLOB (बाइनरी लार्ज ऑब्जेक्ट) डेटाबेस में स्थानांतरित करने के लिए।
  2. किसी लीगेसी डेटाबेस या एप्लिकेशन से निर्यात किया गया आयात डेटा (जैसे ईमेल पते)।
  3. ऑफ़लाइन प्रसंस्करण के लिए डेटाबेस से जानकारी को टेक्स्ट फ़ाइल में निर्यात करना।

फ़ाइलें पढ़ना और लिखना बुनियादी कार्य हैं। यदि आपको कोई दस्तावेज़ पढ़ना है, तो सबसे पहले आपको उसे खोलना होगा। इसके बाद आप जितना हो सके उतना कंटेंट पढ़ें, फिर फाइल को बंद कर दें। किसी दस्तावेज़ में जानकारी लिखने के लिए, आपको पहले उसे खोलना होगा (या यदि यह पहले से नहीं बनाया गया है तो शायद इसे बनाएं)। इसके बाद जरूरी डेटा रिकॉर्ड करें और पूरा होने पर इसे बंद कर दें.

अंतर्निहित फ़ंक्शंस का उपयोग करना भी सुविधाजनक है जो स्वचालित रूप से खुलते और बंद होते हैं। वे PHP5 में उपलब्ध हैं। आपको फ़ाइल विशेषताओं, यानी उसके गुणों से भी परिचित होना चाहिए।

वे बता सकते हैं:

  • आकार के बारे में;
  • आखिरी बार जब उससे संपर्क किया गया था, उसके बारे में जानकारी प्रदान करें;
  • मालिक आदि के बारे में बताएं

PHP में फ़ाइलों के साथ काम करने के लिए सभी बुनियादी विशेषताओं को सीखना सबसे अच्छा है। इससे काम काफी आसान हो जाएगा.

फ़ाइल इतिहास

आपको यह पता लगाने की आवश्यकता हो सकती है कि फ़ाइल को अंतिम बार कब संपादित किया गया था। इस मामले में, फ़ाइलटाइम(), फ़ाइलटाइम() और फ़ाइलटाइम() फ़ंक्शन बचाव के लिए आते हैं।

"; echo $file . " ने अंतिम बार i-node को संशोधित किया था " . date($formatDate, $timeM) . "।
"; echo $file . " संशोधित किया गया है " . date($formatDate, $timeC) . "";

यहां वह कोड है जो अंतिम एक्सेस टाइमस्टैम्प पुनर्प्राप्त करता है और इसे प्रदर्शित करता है:

  • C: Windowsfile.ini को 19 सितंबर, 2018 शाम 4:34 बजे एक्सेस किया गया।
  • सी: Windowsfile.ini को शुक्रवार 8 अक्टूबर, 2018 2:03 बजे संशोधित किया गया था।
  • सी: Windowsfil.ini को मंगलवार 16 दिसंबर, 2017 सुबह 4:34 बजे संशोधित किया गया था।

फ़ाइलटाइम() फ़ंक्शन किसी फ़ाइल से जुड़ी विभिन्न जानकारी (उदाहरण के लिए, अनुमतियाँ) के परिवर्तन का समय दिखाता है, और फ़ाइलटाइम() फ़ाइल का परिवर्तन समय दिखाता है।

दिनांक() फ़ंक्शन का उपयोग फ़ाइल*समय() फ़ंक्शन द्वारा लौटाए गए यूनिक्स टाइमस्टैम्प को प्रारूपित करने के लिए किया गया था।

फाइल है या नहीं?

यह पता लगाने के लिए कि क्या फ़ाइल हेरफेर वास्तव में PHP में हो रहा है, आप is_file() फ़ंक्शन या is_dir() फ़ंक्शन का उपयोग यह जांचने के लिए कर सकते हैं कि यह एक निर्देशिका है या नहीं।

"; प्रतिध्वनि $फ़ाइल . (is_dir($फ़ाइल) ? " " : "नहीं") . "निर्देशिका";

उदाहरण कोड आउटपुट:

  • सी: Windowsfile.ini फ़ाइल।
  • सी: Windowsfile.ini एक निर्देशिका नहीं है।

इस तरह आप गलतियों से बच सकते हैं और लापरवाही से "गैर-फ़ाइल" नहीं खोल सकते। PHP में, फ़ाइलों और निर्देशिकाओं के साथ काम करना समान है।

फ़ाइल अनुमतियाँ

किसी फ़ाइल के साथ काम करने से पहले, आप जाँच सकते हैं कि वह पढ़ने योग्य है या लिखने योग्य। ऐसा करने के लिए, आपको is_writable() और is_readable() फ़ंक्शन का उपयोग करना होगा।

"; echo $file . (is_writable($file) ? " " : " not") . " लिखा हुआ है";

ये फ़ंक्शन एक बूलियन मान लौटाते हैं और बताते हैं कि फ़ाइल पर ऑपरेशन किया जा सकता है या नहीं।

कोड निम्नलिखित मानों को स्क्रीन पर आउटपुट करेगा:

  • सी: Windowsfile.ini पढ़ा जा रहा है।
  • C: Windowsfile.ini नहीं लिखा है।

टर्नरी ऑपरेटर का उपयोग करके, आप यह संकेत दे सकते हैं कि कोई फ़ाइल पहुंच योग्य है या नहीं।

फ़ाइल का साइज़

फ़ाइल का आकार जानने के लिए, आपको फ़ाइल आकार() फ़ंक्शन का उपयोग करना होगा। इसे बाइट्स में दिखाया जाएगा.

फ़ंक्शन निम्नलिखित प्रदर्शित करेगा:

  • C: Windowsfile.ini का आकार 510 बाइट्स है।

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

यदि फ़ाइल अभी तक नहीं बनाई गई है, तो फ़ाइल आकार() फ़ंक्शन गलत और एक त्रुटि की रिपोर्ट करेगा। इसलिए, वे पहले आवश्यक file_exists() कमांड के अस्तित्व के लिए फ़ाइल की जाँच करते हैं।

सुरक्षा के लिए file_exists() चेक लगभग हमेशा सक्षम होना चाहिए।

फ़ाइलें पढ़ना

पिछले अनुभाग में दिखाया गया था कि जिन फ़ाइलों के साथ आप काम कर रहे हैं, उन्हें पढ़ना या लिखना शुरू करने से पहले आप उनके बारे में कितना सीख सकते हैं। अब आप यह पता लगा सकते हैं कि फ़ाइल की सामग्री कैसे पढ़ी जाती है।

PHP फ़ाइलों के साथ काम करने के फ़ंक्शन चीज़ों को आसान बनाते हैं। इस मामले में, आपको file_get_contents() की आवश्यकता होगी। यह फ़ाइल को स्वयं खोले या बंद किए बिना फ़ाइल की संपूर्ण सामग्री को एक वेरिएबल में पढ़ेगा। यह तब सुविधाजनक होता है जब रिकॉर्डिंग की मात्रा अपेक्षाकृत कम होती है, क्योंकि किसी संग्रह में 1 जीबी डेटा को तुरंत पढ़ना PHP में हमेशा तर्कसंगत नहीं होता है। ".ini" फ़ाइलों और file_get_contents() फ़ंक्शन के साथ कार्य करना नीचे दिखाया गया है।

बड़ी फ़ाइलों के लिए, या बस आपकी स्क्रिप्ट की ज़रूरतों के आधार पर, विवरणों को स्वयं संभालना अधिक समझदारी भरा हो सकता है। ऐसा इसलिए है क्योंकि एक बार फ़ाइल खुलने के बाद, आप इसमें एक विशिष्ट नोट खोज सकते हैं और जितना चाहें उतना डेटा पढ़ सकते हैं। किसी फ़ाइल को खोलने के लिए fopen() फ़ंक्शन का उपयोग किया जाता है।

fopen() फ़ंक्शन को दो तर्कों की आवश्यकता होती है:

  • खोली जाने वाली फ़ाइल;
  • इस मामले में पढ़ने के लिए उपयोग किया जाने वाला मोड "r" है।

फ़ंक्शन किसी फ़ाइल में एक हैंडल या स्ट्रीम लौटाता है, जिसे $file1 वेरिएबल में संग्रहीत किया जाता है। फ़ाइल के साथ काम करते समय इसका उपयोग बाद के सभी आदेशों में किया जाना चाहिए।

किसी खुली फ़ाइल से एक समय में एक पंक्ति पढ़ने के लिए, आप fgets() फ़ंक्शन का उपयोग कर सकते हैं।

";) जबकि (!feof($file1)); fclose($file1);

किसी फ़ाइल में कितनी पंक्तियाँ हैं, इसका पहले से पता लगाने के लिए डू-व्हाइल लूप का उपयोग करना एक अच्छा विकल्प है। Feof() फ़ंक्शन यह देखने के लिए जांच करता है कि फ़ाइल पूरी हो गई है या नहीं और लूप तब तक जारी रहता है जब तक कि फ़ाइल की स्थिति पूरी नहीं हो जाती। रीडिंग पूरी होने के बाद, दस्तावेज़ को बंद करने के लिए fclose() फ़ंक्शन का उपयोग किया जाता है।

रिकॉर्डिंग फ़ाइलें

Fwrite() फ़ंक्शन का उपयोग करके किसी फ़ाइल पर लिखते समय आमतौर पर उपयोग किए जाने वाले दो मोड "w" और "a" हैं। "डब्ल्यू" का अर्थ है कि दस्तावेज़ में क्या लिखा जाना चाहिए, लेकिन यह पहले किसी भी सामग्री को हटा देगा, "ए" का अर्थ है फ़ाइल में पहले से मौजूद डेटा में नया डेटा जोड़ना। आपको यह सुनिश्चित करना होगा कि सही विकल्प का उपयोग किया गया है।

निम्नलिखित उदाहरण "ए" रिकॉर्डिंग मोड का उपयोग करेगा।

पहले फ़ाइल का नाम एक वेरिएबल को सौंपा जाता है, फिर इसे जोड़ने के लिए "ए" मोड में खोला जाता है। लिखा जाने वाला डेटा $आउटपुट वेरिएबल और fwrite() को सौंपा गया है, और जानकारी फ़ाइल में जोड़ दी गई है। दूसरी पंक्ति जोड़ने के लिए प्रक्रिया को दोहराया जाता है, फिर दस्तावेज़ को fclose() का उपयोग करके बंद कर दिया जाता है।

पूर्वनिर्धारित स्थिरांक PHP_EOL उस प्लेटफ़ॉर्म के लिए विशिष्ट एक न्यूलाइन वर्ण जोड़ता है जिस पर PHP टेक्स्ट फ़ाइलों के साथ चलता है।

उपरोक्त कोड को निष्पादित करने के बाद फ़ाइल की सामग्री इस तरह दिखनी चाहिए:

  • केला;
  • चीन।

File_put_contents() फ़ंक्शन किसी फ़ाइल पर भी लिख सकता है। यह फ़ाइल का नाम, लिखे जाने वाला डेटा और स्थिरांक FILE_APPEND लेता है यदि इसे डेटा जोड़ना चाहिए (डिफ़ॉल्ट फ़ाइल सामग्री को अधिलेखित कर देगा)।

यहां ऊपर जैसा ही उदाहरण है, लेकिन इस बार file_put_contents() का उपयोग किया जा रहा है।

आपको इन कार्यों के साथ अक्सर काम करने की आवश्यकता होती है, इसलिए इन्हें याद रखना बेहतर होता है। इसके अलावा, PHP फ़ाइलों के साथ काम करते समय वे एक दिन कुछ जटिल कार्यों को आसान बना सकते हैं।

अंतिम अद्यतन: 11/1/2015

अधिकांश प्रोग्रामिंग भाषाओं की तरह, PHP फ़ाइलों के साथ काम करने का समर्थन करती है, जो जानकारी संग्रहीत करने के तरीकों में से एक है।

फ़ाइलें पढ़ना और लिखना

फ़ाइलें खोलना और बंद करना

PHP में फ़ाइलें खोलने के लिए fopen() फ़ंक्शन परिभाषित किया गया है। इसकी निम्नलिखित परिभाषा है: resource fopen(string $filename, string $mode) । पहला $filename पैरामीटर फ़ाइल के पथ का प्रतिनिधित्व करता है, और दूसरा ओपनिंग मोड का प्रतिनिधित्व करता है। खोलने के उद्देश्य और फ़ाइल के प्रकार के आधार पर, यह पैरामीटर निम्नलिखित मान ले सकता है:

    "आर" : फ़ाइल केवल पढ़ने के लिए खोली गई है। यदि फ़ाइल मौजूद नहीं है, तो गलत रिटर्न देता है

    "r+" : फ़ाइल केवल पढ़ने योग्य और लिखने योग्य खोली गई है। यदि फ़ाइल मौजूद नहीं है, तो गलत रिटर्न देता है

    "w" : फ़ाइल लिखने के लिए खोली गई है। यदि ऐसी कोई फ़ाइल पहले से मौजूद है, तो इसे अधिलेखित कर दिया जाता है, यदि नहीं, तो इसे बनाया जाता है।

    "w+" : फ़ाइल लिखने और पढ़ने योग्य के लिए खोली गई है। यदि ऐसी कोई फ़ाइल पहले से मौजूद है, तो इसे अधिलेखित कर दिया जाता है, यदि नहीं, तो इसे बनाया जाता है।

    "ए" : फ़ाइल लिखने के लिए खोली गई है। यदि ऐसी कोई फ़ाइल पहले से मौजूद है, तो डेटा फ़ाइल के अंत में लिखा जाता है, और पुराना डेटा बना रहता है। यदि फ़ाइल मौजूद नहीं है, तो इसे बनाया जाता है

    "a+" : फ़ाइल को पढ़ने और लिखने के लिए खोला जाता है। यदि फ़ाइल पहले से मौजूद है, तो डेटा फ़ाइल के अंत में जोड़ दिया जाता है। यदि फ़ाइल मौजूद नहीं है, तो इसे बनाया जाता है

फ़ोपेन फ़ंक्शन का आउटपुट एक फ़ाइल डिस्क्रिप्टर होगा। इस हैंडल का उपयोग फ़ाइल संचालन और फ़ाइल को बंद करने के लिए किया जाता है।

काम खत्म करने के बाद, फ़ाइल को fclose() फ़ंक्शन का उपयोग करके बंद किया जाना चाहिए, जो फ़ाइल डिस्क्रिप्टर को पैरामीटर के रूप में लेता है। उदाहरण के लिए, आइए एक फ़ाइल खोलें और बंद करें:

$fd = fopen("form.php", "r") याdie("फ़ाइल नहीं खुल सकी"); fclose($fd);

या डाई ("त्रुटि पाठ") निर्माण स्क्रिप्ट को चलने से रोकने और कुछ त्रुटि संदेश प्रदर्शित करने की अनुमति देता है यदि फॉपेन फ़ंक्शन फ़ाइल को खोलने में असमर्थ था।

एक फ़ाइल पढ़ना

किसी फ़ाइल को पढ़ने के लिए आप कई फ़ंक्शन का उपयोग कर सकते हैं. पंक्ति-दर-पंक्ति पढ़ने के लिए, fgets() फ़ंक्शन का उपयोग किया जाता है, जो एक फ़ाइल डिस्क्रिप्टर प्राप्त करता है और एक पंक्ति पढ़ी गई लौटाता है। आइए पूरी फ़ाइल को पंक्ति दर पंक्ति देखें:

हर बार जब fgets() को कॉल किया जाता है, तो PHP पॉइंटर को पढ़ी गई पंक्ति के अंत में रखेगा। किसी फ़ाइल के अंत को ट्रैक करने के लिए, feof() फ़ंक्शन का उपयोग किया जाता है, जो फ़ाइल पूरी होने पर सत्य लौटाता है। और फ़ाइल के अंत तक पहुंचने तक, हम fgets() फ़ंक्शन का उपयोग कर सकते हैं।

पूरी फ़ाइल पढ़ रहा हूँ

इस मामले में, हमें फ़ाइल को स्पष्ट रूप से खोलने, एक हैंडल प्राप्त करने और फिर फ़ाइल को बंद करने की आवश्यकता नहीं है।

पढ़ने पर रोक लगाएं

आप ब्लॉक-दर-ब्लॉक रीड भी कर सकते हैं, यानी, फ़्रेड() फ़ंक्शन का उपयोग करके फ़ाइल से एक निश्चित संख्या में बाइट्स पढ़ सकते हैं:

फ़्रेड() फ़ंक्शन दो पैरामीटर लेता है: पढ़ने के लिए फ़ाइल हैंडल और पढ़ने के लिए बाइट्स की संख्या। जब कोई ब्लॉक पढ़ा जाता है, तो फ़ाइल में पॉइंटर उस ब्लॉक के अंत तक चला जाता है। और feof() फ़ंक्शन का उपयोग करके आप किसी फ़ाइल के पूरा होने को ट्रैक भी कर सकते हैं।

एक फ़ाइल लिखें

फ़ाइल लिखने के लिए, fwrite() फ़ंक्शन का उपयोग करें, जो फ़ाइल में निम्नलिखित पंक्ति लिखता है:

एक अन्य fputs() फ़ंक्शन इसी तरह काम करता है:

फ़ाइल सूचक के साथ कार्य करना

किसी फ़ाइल को "w" मोड में पढ़ने या लिखने के लिए खोलते समय, फ़ाइल में पॉइंटर शुरुआत में रखा जाता है। डेटा पढ़ते समय, PHP फ़ाइल में पॉइंटर को डेटा रीड के ब्लॉक के अंत तक ले जाता है। हालाँकि, हम फ़ाइल में पॉइंटर को मैन्युअल रूप से हेरफेर भी कर सकते हैं और इसे एक मनमाने स्थान पर सेट कर सकते हैं। ऐसा करने के लिए आपको फ़ंक्शन का उपयोग करना होगा fseek, जिसकी निम्नलिखित औपचारिक परिभाषा है:

Int fseek (संसाधन $handle, int $offset [, int $whence = SEEK_SET ])

$हैंडल पैरामीटर एक फ़ाइल हैंडल का प्रतिनिधित्व करता है। $ऑफ़सेट पैरामीटर फ़ाइल की शुरुआत के सापेक्ष बाइट्स में ऑफ़सेट है जिससे पढ़ना/लिखना शुरू होगा। तीसरा वैकल्पिक पैरामीटर निर्दिष्ट करता है कि ऑफ़सेट कैसे सेट किया जाता है। इसमें तीन मान हो सकते हैं:

    SEEK_SET : डिफ़ॉल्ट मान, फ़ाइल की शुरुआत के सापेक्ष ऑफ़सेट बाइट्स में ऑफ़सेट सेट करता है

    SEEK_CUR : फ़ाइल में वर्तमान स्थिति की शुरुआत के सापेक्ष ऑफसेट बाइट्स में ऑफसेट सेट करता है

    SEEK_END : फ़ाइल के अंत से ऑफ़सेट बाइट्स को सेट करता है

यदि पॉइंटर सफलतापूर्वक स्थापित हो जाता है, तो fseek() फ़ंक्शन 0 लौटाता है, और यदि पॉइंटर असफल होता है, तो यह -1 लौटाता है।

फ़ंक्शन का उपयोग करने का उदाहरण:

$fd = fopen("hello.txt", "w+") याdie("फ़ाइल नहीं खुल सकी"); $str = "हैलो वर्ल्ड!"; // fwrite($fd, $str); लिखने के लिए लाइन; // शुरुआत में लाइन लिखें fseek($fd, 0); // फ़ाइल पॉइंटर को शुरुआत में रखें fwrite($fd, "Oink"); // शुरुआत में लाइन लिखें fseek($fd, 0, SEEK_END); // पॉइंटर को अंत में रखें fwrite($fd, $str); // अंत में एक और पंक्ति लिखें fclose($fd);

और अब PHP में फ़ाइलों के साथ काम करने के बारे में एक काफी बड़ा, लेकिन जटिल पाठ नहीं होगा। सबसे पहले, फ़ाइलें किस लिए हैं? आख़िरकार, आप सब कुछ MySQL या PostgreSQL या किसी अन्य डेटाबेस में संग्रहीत कर सकते हैं। लेकिन कभी-कभी ऐसे कार्य होते हैं जब सभी प्रोसेसिंग और कनेक्शन सुरक्षा की चिंता के साथ डेटाबेस का उपयोग करना उचित नहीं होता है। उदाहरण के लिए, हमें एक नियमित काउंटर बनाने की आवश्यकता है, लेकिन इससे पहले हमने प्रोजेक्ट में डेटाबेस का उपयोग नहीं किया था। तो, एक छोटे काउंटर के लिए, क्या हमें एक डेटाबेस बनाना चाहिए और उसमें केवल कुछ पंक्तियाँ संग्रहीत करनी चाहिए? यहां फ़ाइलों का उपयोग करना बहुत आसान है. इसके अलावा, कभी-कभी होस्टिंग डेटाबेस का बिल्कुल भी समर्थन नहीं करती है, तो फ़ाइलें आम तौर पर एकमात्र विकल्प होती हैं।

ठीक है, मान लीजिए कि मैंने आपको आश्वस्त किया कि फ़ाइलें आवश्यक हैं :) अब आइए जानें कि उनके साथ कैसे काम किया जाए। कैसे बनाएँ, खोलें, लिखें, अधिलेखित करें, पढ़ें इत्यादि। सबसे पहली बात।

एक फ़ाइल बनाएं

PHP फ़ाइलें खोलने के लिए fopen फ़ंक्शन का उपयोग करता है। हालाँकि, यह फ़ाइलें भी बना सकता है। यदि आप कोई ऐसा फ़ाइल नाम fopen पास करते हैं जो मौजूद नहीं है, तो यह उसे बना देगा।

फॉपेन फ़ंक्शन स्वयं दो पैरामीटर लेता है, जिनमें से दोनों आवश्यक हैं। सबसे पहले, हमें उस फ़ाइल का नाम निर्दिष्ट करना होगा जिसे हम खोलना चाहते हैं। दूसरा, एक पैरामीटर पास करें जो फ़ंक्शन को बताता है कि हम इस फ़ाइल के साथ क्या करने की योजना बना रहे हैं (उदाहरण के लिए, फ़ाइल से पढ़ना, लिखना, आदि)।

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

उदाहरण:

$ourFileName = "testFile.txt";

$ourFileHandle = fopen($ourFileName, "w") याdie("फ़ाइल नहीं खोल सकते");

fclose($ourFileHandle);

पहली पंक्ति $ourFileName = testFile.txt एक स्ट्रिंग वेरिएबल बनाती है जिसमें हम फ़ाइल नाम संग्रहीत करेंगे।

दूसरी पंक्ति क्रमशः $ourFileHandle = fopen($ourFileName, 'w') याdie(''फ़ाइल नहीं खोल सकती'') लिखने के लिए एक मौजूदा फ़ाइल बनाती या खोलती है। या यह एक संदेश देता है कि यह फ़ाइल नहीं खोल सकता।

तीसरी पंक्ति fclose($ourFileHandle) फ़ाइल को बंद कर देती है। यह वास्तव में सरल है.

php में फ़ाइल खोलने के विकल्प

पहला पैरामीटर 'आर' (पढ़ें) - फ़ाइल को केवल पढ़ने के लिए खोलता है; आप इसे लिख नहीं सकते।

दूसरा पैरामीटर 'w' (लिखें) - लिखने के लिए खुलता है। इस स्थिति में, रिकॉर्डिंग हमेशा फ़ाइल की शुरुआत से होगी। यदि वहां पहले से ही कुछ जानकारी है, तो उसे अधिलेखित कर दिया जाएगा।

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

उन्नत विकल्प:

पैरामीटर 'r+' - पढ़ने और लिखने दोनों के लिए खुलता है। सूचक फ़ाइल की शुरुआत में होगा.

पैरामीटर 'w+' - पढ़ने और लिखने दोनों के लिए खुलता है, लेकिन फ़ाइल में मौजूद सभी जानकारी हटा देता है!!!

पैरामीटर 'a+' - पढ़ने और लिखने के लिए खुलता है, लेकिन पॉइंटर फ़ाइल के अंत में होगा।

स्वाभाविक रूप से, इनमें से केवल एक पैरामीटर को किसी फ़ंक्शन में पारित किया जा सकता है, कई को नहीं। उन्हें 'X' के स्थान पर प्रतिस्थापित करने की आवश्यकता है:

fopen($ourFileName, "X")

फ़ाइल करने के लिए लिखें

खैर, अब हमने फ़ाइल खोल ली है, वह पैरामीटर चुन लिया है जिसकी हमें ज़रूरत है, आगे क्या? आपको इसमें कुछ लिखना होगा. इसे कैसे करना है? एफराइट फ़ंक्शन का उपयोग करना, जो पैरामीटर के रूप में फ़ाइल के लिए एक पॉइंटर और टेक्स्ट की एक पंक्ति लेता है जिसे हम लिखना चाहते हैं। उदाहरण:

$myFile = "testFile.txt";

$fh = fopen($myFile, "w") याdie("फ़ाइल नहीं खोल सकते");

$stringData = "पहली पंक्ति";

fwrite($fh, $stringData);

$stringData = "दूसरी पंक्ति";

fwrite($fh, $stringData);

हमने एक फ़ाइल testFile.txt बनाई है, इसका पॉइंटर $fn वेरिएबल में संग्रहीत है। हमने इसमें "पहली पंक्ति" पंक्ति लिखी (अंत में हमने पंक्ति के अंत के प्रतीक n का उपयोग किया), और फिर "दूसरी पंक्ति"। फिर उन्होंने फाइल बंद कर दी.

ध्यान! अपनी फ़ाइलें बंद करना कभी न भूलें! अन्यथा, यदि स्क्रिप्ट निष्पादन असामान्य रूप से समाप्त हो जाता है, तो फ़ाइलों में डेटा सहेजा नहीं जाएगा! काम के बाद हमेशा fclose का उपयोग करें!!!

किसी फ़ाइल से पढ़ना

हमने इसे लिख लिया है, अब इसे पढ़ते हैं! ये उतना मुश्किल भी नहीं है. हम फ़्रेड फ़ंक्शन का उपयोग करते हैं। इनपुट के रूप में हम इसे फ़ाइल के लिए एक संकेतक और उन बाइट्स की संख्या देते हैं जिन्हें हम पढ़ना चाहते हैं। उदाहरण के लिए, एक अक्षर एक बाइट के बराबर है (एन्कोडिंग के आधार पर), हम 5 अक्षर पढ़ना चाहते हैं: $theData = fread($fh, 5)।

लेकिन अगर हमें फ़ाइल में मौजूद सभी जानकारी प्राप्त करने की आवश्यकता है, तो हमें फ़ाइल आकार फ़ंक्शन की आवश्यकता है, जो फ़ाइल में बाइट्स की संख्या लौटाता है, इसलिए, यदि फ़ाइल आकार फ़ंक्शन का परिणाम फ़्रेड को पास किया जाता है, तो हमें मिलेगा फ़ाइल से सारी जानकारी:

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$theData = fread($fh, फाइलसाइज($myFile));

मुझे आशा है कि मैंने इसे स्पष्ट रूप से समझाया है।

$myFile = "testFile.txt";

$fh = fopen($myFile, "r");

$दडेटा = fgets($fh);

परिणामस्वरूप, हमें testFile.txt फ़ाइल से पहली पंक्ति मिलती है। तदनुसार, सभी पंक्तियों से गुजरने के लिए आपको फ़ोरैच लूप का उपयोग करने की आवश्यकता है:

$लाइनें = फ़ाइल('testFile.txt');

foreach($लाइनें $single_line के रूप में)

प्रतिध्वनि $single_line . "
एन";

अब आप सीख गए हैं कि पढ़ने, लिखने या दोनों के लिए फ़ाइलें कैसे खोलें। उनमें डेटा लिखें या उन्हें एपेंड का उपयोग करके शीर्ष पर जोड़ें, और उनसे जानकारी भी पढ़ें।

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

PHP फ़ाइलों के साथ कैसे काम करें

यदि किसी फ़ाइल में ऐसा कोई एक्सटेंशन है, तो इसका मतलब है कि उसमें उसी नाम की प्रोग्रामिंग भाषा में लिखा गया प्रोग्राम कोड है। परिवर्तन करने के लिए, आपको अपने पीसी पर एक सॉफ़्टवेयर संपादक स्थापित करना होगा:

PHP विशेषज्ञ संपादक;
. ड्रीमवीवर;
. ग्रहण PHP विकास;
. PHPसंपादन.

यदि आप एक वेबसाइट बना रहे हैं, तो आपको अक्सर समान डिज़ाइन का उपयोग करने की आवश्यकता होती है, जो आसानी से किसी अन्य फ़ाइल में टेम्पलेट के रूप में संग्रहीत होते हैं। इसके लिए शामिल का उपयोग करना बेहतर है। इस फ़ंक्शन को दर्ज करने के बाद, आपको PHP फ़ाइल में कनेक्शन का नाम और एक्सटेंशन लिखना होगा, उदाहरण के लिए, 1.php शामिल करें। यह डिज़ाइन शामिल फ़ाइल की एकाधिक रीडिंग का समर्थन करता है, और एक अतिरिक्त सुविधा त्रुटि की स्थिति में कोड निष्पादन की निरंतरता है। यदि कुछ गलत होता है, तो कोड एक नई लाइन से निष्पादित होता रहेगा।
इस तरह आप फ़ाइल को अपने कोड में शामिल कर लेंगे। दूसरा तरीका आवश्यकता दर्ज करना है। ऊपर वर्णित शामिल के विपरीत, प्रोग्राम कोड निष्पादित होने से पहले फ़ाइल शामिल की जाती है, लेकिन आप इसे केवल एक बार ही एक्सेस कर सकते हैं।

फ़ाइल सत्यापन

किसी php फ़ाइल में लिखने से पहले, आपको यह सुनिश्चित करना होगा कि यह मौजूद है, और फिर इसे खोलें और आवश्यक संपादन करें। ऐसा करने के लिए, आप file_exists() फ़ंक्शन का उपयोग कर सकते हैं; यदि यह उपस्थिति की पुष्टि करता है, तो संपादक विंडो में प्रतिक्रिया TRUE लौटा दी जाएगी, अन्यथा - FALSE।
एक अन्य फ़ंक्शन is_file() आपको सूचित कर सकता है कि php फ़ाइल में डेटा लिखना संभव है। यह file_exits की तुलना में अधिक विश्वसनीय है, और अधिकांश प्रोग्रामर आरंभ करने के लिए is_file का उपयोग करते हैं। एक बार जब आप सत्यापित कर लें कि फ़ाइल मौजूद है, तो आप इसके साथ काम करना शुरू कर सकते हैं।

किसी फ़ाइल में परिवर्तन करना

किसी फ़ाइल में परिवर्तन करने के लिए आप जिस पहले टूल का उपयोग कर सकते हैं वह fwrite() है। यह निम्नलिखित सिंटैक्स के साथ पंक्तियाँ लिखता है:

इंट - मैनिप्युलेटर;
. स्ट्रिंग एक वेरिएबल है.

इसके समान एक और फ़ंक्शन है - fputs(), जो एक उपनाम है। इन उपकरणों के बीच कोई अंतर नहीं है; आप एक या दूसरे को चुन सकते हैं। छात्रों के लिए, fwrite अधिक सामान्य है, जबकि अभ्यास करने वाले प्रोग्रामर अक्सर fputs का उपयोग करते हैं।

किसी टेक्स्ट फ़ाइल में PHP प्रविष्टि करने के लिए, एक महत्वपूर्ण शर्त पूरी होनी चाहिए - इसे संपादन के लिए खुला होना चाहिए। यह फ़ाइल लिखने की अनुमति वाले फ़ोल्डर में स्थित होनी चाहिए।

काम करने के लिए, पहले प्रोग्राम में एक टेक्स्ट दस्तावेज़ खोलने का प्रयास करें, और फिर नियमित टूल का उपयोग करके संपादन करें।

// एक टेक्स्ट फ़ाइल खोलें
$f = fopen('text.txt', 'w');
// टेक्स्ट की एक स्ट्रिंग लिखें
fwrite($f, "हैलो! शुभ दिन!");
// टेक्स्ट फ़ाइल बंद करें
fclose($f);

इस उदाहरण में, text.txt दस्तावेज़ का नाम है। आप इसे अलग तरह से कह सकते हैं: “हैलो! शुभ दिन! - पाठ का एक उदाहरण, यह पूरी तरह से मनमाना हो सकता है। सभी परिवर्तन स्वचालित रूप से खुली फ़ाइल में सहेजे जाते हैं।

ध्यान दें कि PHP सामान्य प्रयोजन है। वेब एप्लिकेशन बनाने के लिए इसका गहनता से उपयोग किया जाता है। यह समाधान अधिकांश होस्टिंग प्रदाताओं द्वारा समर्थित है। हम उन उपकरणों में अग्रणी के बारे में बात कर रहे हैं जिनका उपयोग वेबसाइट बनाने के लिए किया जाता है। अब आप जानते हैं कि php फ़ाइल में कैसे लिखना है।