PHP फ़ाइल() हैंडलिंग और फ़ंक्शन

⚡ स्मार्ट सारांश

PHP में फ़ाइल प्रोसेसिंग सर्वर पर फ़ाइलें बनाने, पढ़ने, लिखने, कॉपी करने और हटाने के लिए कई अंतर्निहित फ़ंक्शंस का उपयोग करती है। यह विस्तृत विवरण व्यावहारिक उदाहरणों के साथ file_exists, fopen और इसके मोड, fwrite, fclose, fgets, copy, unlink और file_get_contents को कवर करता है।

  • 📄 फ़ाइलें क्या संग्रहीत करती हैं: फाइलों में कॉन्फ़िगरेशन सेटिंग्स, लॉग और सामान्य डेटा होता है, जो डेटाबेस की तुलना में एक सस्ता स्थायी भंडारण विकल्प प्रदान करता है।
  • 🔍 फ़ाइलों की जाँच करना: file_exists() फ़ाइल को पढ़ने या बनाने से पहले उसकी मौजूदगी की पुष्टि करता है, जिससे त्रुटियों से बचा जा सकता है।
  • 📂 फाइलें खोलना: fopen() किसी फ़ाइल को r, w या a जैसे मोड में खोलता है, जो पढ़ने, लिखने और डेटा जोड़ने को नियंत्रित करता है।
  • ✍️ लेखन एवं समापन: fwrite() फ़ाइल हैंडल को डेटा भेजता है, और fclose() काम पूरा होने पर हैंडल को रिलीज़ कर देता है।
  • 📖 फ़ाइलें पढ़ना: fgets() एक बार में एक पंक्ति पढ़ता है, जबकि file_get_contents() पूरी फ़ाइल को एक ही स्ट्रिंग के रूप में लौटाता है।
  • कॉपी करें और हटाएं: copy() फ़ंक्शन किसी फ़ाइल को एक नए पथ पर डुप्लिकेट करता है, और unlink() फ़ंक्शन सर्वर से किसी फ़ाइल को स्थायी रूप से हटा देता है।
  • 🤖 एआई सहायता: एआई उपकरण फाइल पार्सिंग कोड उत्पन्न कर सकते हैं और अनुमति संबंधी त्रुटियों या स्ट्रीम खोलने में विफलता जैसी त्रुटियों को शीघ्रता से हल कर सकते हैं।

पीएचपी फ़ाइल प्रोसेसिंग

फाइल क्या है?

फ़ाइल कंप्यूटर पर सूचना संग्रहीत करने का एक संसाधन मात्र है।

फ़ाइलों का उपयोग आमतौर पर निम्नलिखित जानकारी संग्रहीत करने के लिए किया जाता है:

  • किसी प्रोग्राम की कॉन्फ़िगरेशन सेटिंग्स
  • फ़ोन नंबरों के साथ संपर्क व्यक्तियों के नाम जैसी सरल जानकारी।
  • चित्र, तस्वीरें, फोटो और इसी तरह के मीडिया।

PHP फ़ाइल प्रारूप समर्थन

PHP फ़ाइल फ़ंक्शन कई प्रकार के फ़ाइल स्वरूपों का समर्थन करते हैं जिनमें शामिल हैं:

  • फ़ाइल.txt
  • फ़ाइल.लॉग
  • फ़ाइल.कस्टम_एक्सटेंशन, यानी फ़ाइल.xyz
  • फ़ाइल.csv
  • File.gif, file.jpg और इसी तरह के इमेज फॉर्मेट

फाइलें कई स्थितियों में उपयोगी होती हैं:

  • ये सरल डेटा के लिए एक स्थायी, लागत प्रभावी डेटा स्टोरेज समाधान प्रदान करते हैं, जबकि डेटाबेस को प्रबंधित करने के लिए अन्य सॉफ़्टवेयर और कौशल की आवश्यकता होती है।
  • आप सर्वर लॉग जैसे सरल डेटा को बाद में पुनः प्राप्त करने और विश्लेषण करने के लिए संग्रहीत करना चाहते हैं।
  • आप प्रोग्राम सेटिंग्स को स्टोर करना चाहते हैं, यानी program.ini फ़ाइल।

PHP फ़ाइल फ़ंक्शन

PHP अपने अंतर्निहित कार्यों के समृद्ध संग्रह के माध्यम से फाइलों के साथ काम करने का एक सुविधाजनक तरीका प्रदान करता है।

Operaटिंग सिस्टम जैसे Windows और macOS केस सेंसिटिव नहीं हैं, जबकि Linux or यूनिक्स ऑपरेटिंग सिस्टम केस सेंसिटिव होते हैं।

फ़ाइल के नामकरण के लिए केवल छोटे अक्षरों का उपयोग करने जैसी नामकरण पद्धति को अपनाना एक अच्छी प्रथा है जो अधिकतम क्रॉस प्लेटफ़ॉर्म संगतता सुनिश्चित करती है।

आइए अब हम कुछ सबसे अधिक उपयोग किए जाने वाले PHP फ़ाइल फ़ंक्शंस पर नज़र डालते हैं।

PHP file_exists() फ़ंक्शन

इस फ़ंक्शन का उपयोग यह निर्धारित करने के लिए किया जाता है कि कोई फ़ाइल मौजूद है या नहीं।

  • यह तब काम आता है जब हम किसी फाइल को प्रोसेस करने से पहले यह जानना चाहते हैं कि वह मौजूद है या नहीं।
  • आप इस फ़ंक्शन का उपयोग तब भी कर सकते हैं जब कोई नई फ़ाइल बनाते समय आप यह सुनिश्चित करना चाहते हैं कि फ़ाइल पहले से सर्वर पर मौजूद नहीं है।

file_exists फ़ंक्शन का सिंटैक्स निम्नलिखित है।

<?php
file_exists($filename);
?>

यहाँ,

  • “file_exists()” एक PHP फ़ंक्शन है जो फ़ाइल के मौजूद होने पर true और फ़ाइल के न होने पर false लौटाता है।
  • “$filename” जांच की जाने वाली फ़ाइल का पथ और नाम है।

नीचे दिया गया कोड यह निर्धारित करने के लिए file_exists फ़ंक्शन का उपयोग करता है कि क्या my_settings.txt फ़ाइल मौजूद है।

<?php
if (file_exists('my_settings.txt'))
{
echo 'file found!';
}
else
{
echo 'my_settings.txt does not exist';
}
?>

उपरोक्त कोड को file_function.php नाम की फ़ाइल में सेव करें। मान लीजिए आपने फ़ाइल को htdocs के phptuts फ़ोल्डर में सेव किया है, तो इसे खोलें। URL http://localhost/phptuts/file_function.php अपने ब्राउज़र में। आपको निम्नलिखित परिणाम प्राप्त होंगे।

PHP file_exists() फ़ंक्शन

PHP fopen() फ़ंक्शन

fopen फ़ंक्शन का उपयोग फ़ाइलें खोलने के लिए किया जाता है। इसका सिंटैक्स निम्नलिखित है।

<?php
fopen($file_name,$mode,$use_include_path,$context);
?>

यहाँ,

  • “fopen” PHP ओपन फ़ाइल फ़ंक्शन है
  • “$file_name” खोली जाने वाली फ़ाइल का नाम है
  • “$mode” वह मोड है जिसमें फ़ाइल खोली जानी चाहिए। नीचे दी गई तालिका में मोड दिखाए गए हैं।
मोड विवरण
r • फ़ाइल को शुरू से पढ़ें.
• यदि फ़ाइल मौजूद नहीं है तो false लौटाता है।
• केवल पढ़ने के लिए
r+ • फ़ाइल को शुरू से पढ़ें
• यदि फ़ाइल मौजूद नहीं है तो false लौटाता है।
• पढ़ें और लिखें
w • फ़ाइल की शुरुआत में लिखें
• फ़ाइल को शून्य लंबाई तक छोटा करें
• यदि फ़ाइल मौजूद नहीं है, तो उसे बनाने का प्रयास करें।
• केवल लिखें
w+ • फ़ाइल में शुरुआत में लिखें, फ़ाइल को शून्य लंबाई तक छोटा करें
• यदि फ़ाइल मौजूद नहीं है, तो उसे बनाने का प्रयास करें।
• पढ़ें और लिखें
a • अंत में फ़ाइल में जोड़ें
• यदि फ़ाइल मौजूद नहीं है, तो उसे बनाने का प्रयास करें।
• केवल लिखें
a+ • अंत में फ़ाइल में जोड़ें
• यदि फ़ाइल मौजूद नहीं है, तो उसे बनाने का प्रयास करें।
• पढ़ें और लिखें
  • “$use_include_path” वैकल्पिक है, डिफ़ॉल्ट मान false है। यदि इसे true पर सेट किया जाता है, तो फ़ंक्शन include path में भी खोज करता है।
  • “$context” वैकल्पिक है और इसका उपयोग संदर्भ समर्थन निर्दिष्ट करने के लिए किया जा सकता है।

PHP fwrite() फ़ंक्शन

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

इसका वाक्यविन्यास इस प्रकार है।

<?php
fwrite($handle, $string, $length);
?>

यहाँ,

  • “fwrite” फ़ाइलों में लिखने के लिए PHP फ़ंक्शन है
  • “$handle” फ़ाइल पॉइंटर संसाधन है
  • “$string” वह डेटा है जिसे फाइल में लिखा जाना है।
  • “$length” वैकल्पिक है और इसका उपयोग फ़ाइल की अधिकतम लंबाई निर्दिष्ट करने के लिए किया जा सकता है।

PHP fclose() फ़ंक्शन

PHP में पहले से खुली हुई फ़ाइल को बंद करने के लिए fclose() फ़ंक्शन का उपयोग किया जाता है।

इसका वाक्यविन्यास इस प्रकार है।

<?php
fclose($handle);
?>

यहाँ,

  • “fclose” है PHP फ़ंक्शन खुली फ़ाइल को बंद करने के लिए
  • “$handle” फ़ाइल पॉइंटर संसाधन है।

आइए अब एक उदाहरण देखें जो my_settings.txt फ़ाइल बनाता है। हम fopen, fwrite और fclose फ़ंक्शन का उपयोग करेंगे।

नीचे दिया गया कोड “create_my_settings_file.php” उपरोक्त उदाहरण को कार्यान्वित करता है।

फ़ाइल खोलें
<?php

$fh = fopen("my_settings.txt", 'w')

or

die("Failed to create file"); ?>
फ़ाइल बंद करना
<?php

fclose($fh);

?>
फ़ाइल बनाएँ
<?php

$fh = fopen("my_settings.txt", 'w') or die("Failed to create file");

$text = <<<_END

localhost;root;pwd1234;my_database

_END;

fwrite($fh, $text) or die("Could not write to file");

fclose($fh);

echo "File 1 written successfully"; ?>

कोड का परीक्षण

ओपन URL http://localhost/phptuts/create_my_settings.php अपने ब्राउज़र में.

आपको निम्न पेज मिलेगा.

PHP fclose फ़ंक्शन

ध्यान दें: यदि आपकी डिस्क भरी हुई है या आपके पास फ़ाइलें लिखने की अनुमति नहीं है, तो आपको एक त्रुटि संदेश मिलेगा।

वापस स्विच करें URL http://localhost/phptuts/file_function.phpआपको क्या परिणाम मिलते हैं?

PHP fgets() फ़ंक्शन

fgets फ़ंक्शन का उपयोग PHP फ़ाइलों को पंक्ति दर पंक्ति पढ़ने के लिए किया जाता है। इसका मूल सिंटैक्स निम्नलिखित है।

<?php
fgets($handle);
?>

यहाँ,

  • "fgets" PHP का वह फ़ंक्शन है जिसका उपयोग फ़ाइल की पंक्तियों को पढ़ने के लिए किया जाता है।
  • “$handle” फ़ाइल पॉइंटर संसाधन है।

अब आइए एक उदाहरण देखें जो fopen और fgets फ़ंक्शन का उपयोग करके my_settings.txt फ़ाइल को पढ़ता है।

नीचे दिया गया कोड read_my_settings.php उपरोक्त उदाहरण को कार्यान्वित करता है।

<?php
$fh = fopen("my_settings.txt", 'r') or die("File does not exist or you lack permission to open it");
$line = fgets($fh);
echo $line; fclose($fh);
?>

यहाँ,

  • “fopen” फ़ंक्शन फ़ाइल पथ में निर्दिष्ट फ़ाइल के लिए पॉइंटर लौटाता है
  • त्रुटि होने पर “die()” फ़ंक्शन को कॉल किया जाता है। यह एक संदेश प्रदर्शित करता है और स्क्रिप्ट के निष्पादन को रोक देता है।

PHP कॉपी() फ़ंक्शन

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

<?php
copy($file,$copied_file);
?>

यहाँ,

  • “$file” कॉपी की जाने वाली फ़ाइल का फ़ाइल पथ और नाम निर्दिष्ट करता है।
  • “$copied_file” कॉपी की गई फ़ाइल का पथ और नाम निर्दिष्ट करता है।

नीचे दिया गया कोड कार्यान्वयन को दर्शाता है।

<?php
copy('my_settings.txt', 'my_settings_backup.txt') or die("Could not copy file");
echo "File successfully copied to 2";
?>

फ़ाइल हटाना

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

<?php
if (!unlink('my_settings_backup.txt'))
{
echo "Could not delete file";
}
else
{
echo "File 1 successfully deleted";
}
?>

PHP file_get_contents() फ़ंक्शन

file_get_contents फ़ंक्शन का उपयोग संपूर्ण फ़ाइल सामग्री को पढ़ने के लिए किया जाता है।

file_get_contents और fgets के बीच अंतर यह है कि file_get_contents फ़ाइल डेटा को एक स्ट्रिंग के रूप में लौटाता है, जबकि fgets फ़ाइल को पंक्ति दर पंक्ति पढ़ता है।

नीचे दिया गया कोड कार्यान्वयन को दर्शाता है।

<?php
echo "<pre>"; // Enables display of line feeds
echo file_get_contents("my_settings.txt");
echo "</pre>"; // Terminates pre tag
?>

PHP फ़ाइल फ़ंक्शंस का त्वरित संदर्भ

नीचे दी गई तालिका इस ट्यूटोरियल में शामिल फ़ाइल कार्यों का सारांश प्रस्तुत करती है।

समारोह विवरण
फ़ाइल मौजूद यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई फ़ाइल मौजूद है या नहीं
फोपेन फ़ाइल खोलने के लिए उपयोग किया जाता है। खोली गई फ़ाइल के लिए पॉइंटर लौटाता है
fwrite फ़ाइलों में लिखने के लिए उपयोग किया जाता है
fclose खुली हुई फ़ाइल को बंद करने के लिए उपयोग किया जाता है
fgets फ़ाइल को लाइन दर लाइन पढ़ने के लिए उपयोग किया जाता है
प्रतिलिपि किसी मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए उपयोग किया जाता है
उतारना किसी मौजूदा फ़ाइल को हटाने के लिए उपयोग किया जाता है
file_get_contents किसी फ़ाइल की सामग्री को स्ट्रिंग के रूप में लौटाने के लिए उपयोग किया जाता है

अक्सर पूछे जाने वाले प्रश्न

fgets प्रति कॉल एक पंक्ति पढ़ता है, fread एक खुले हैंडल से निश्चित संख्या में बाइट्स पढ़ता है, और file_get_contents fopen या fclose की आवश्यकता के बिना एक ही कॉल में पूरी फ़ाइल को एक स्ट्रिंग में पढ़ता है।

fwrite कमांड खुली हुई फ़ाइल के हैंडल पर लिखता है और इसके लिए fopen और fclose कमांड की आवश्यकता होती है। file_put_contents कमांड एक ही कॉल में फ़ाइल को खोलता है, लिखता है और बंद करता है, जिससे यह सरल लेखन कार्यों के लिए एक छोटा विकल्प बन जाता है।

लिखने से पहले राइट परमिशन की जांच करने के लिए is_writable('file.txt') का उपयोग करें, और फ़ाइल मौजूद है या नहीं, इसकी पुष्टि करने के लिए file_exists() का उपयोग करें। Unix सिस्टम पर, यदि वेब सर्वर फ़ाइल का मालिक है, तो chmod() परमिशन को समायोजित कर सकता है।

जी हां। फ़ाइल का प्रारूप बताएं, जैसे कि CSV, JSON, या लॉग लेआउट, और AI fgetcsv, json_decode, या कस्टम लूप का उपयोग करके कोड तैयार कर सकता है, साथ ही गुम या गलत फ़ाइल के लिए त्रुटि प्रबंधन भी कर सकता है। वास्तविक डेटा के साथ परीक्षण करें।

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

इस पोस्ट को संक्षेप में इस प्रकार लिखें: