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

फाइल क्या है?

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

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

  • किसी प्रोग्राम की कॉन्फ़िगरेशन सेटिंग्स
  • सरल डेटा जैसे कि फ़ोन नंबर के विरुद्ध संपर्क नाम।
  • छवियाँ, तस्वीरें, फोटो, आदि.

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

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

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

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

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

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

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

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

PHP file_exists() फ़ंक्शन

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

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

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

<?php
file_exists($filename); 
?>

यहाँ,

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

नीचे दिया गया कोड यह निर्धारित करने के लिए 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 • फ़ाइल को शुरू से पढ़ें.
• यदि फ़ाइल मौजूद नहीं है तो गलत लौटाता है.
• केवल पढ़ने के लिए
r+ • फ़ाइल को शुरू से पढ़ें
• यदि फ़ाइल मौजूद नहीं है तो गलत लौटाता है.
• पढ़ें और लिखें
w • फ़ाइल की शुरुआत में लिखें
• फ़ाइल की लंबाई शून्य तक कम करें
• यदि फ़ाइल मौजूद नहीं है तो उसे बनाने का प्रयास करें।
• केवल लिखें
w+ • फ़ाइल में शुरुआत में लिखें, फ़ाइल को शून्य लंबाई तक छोटा करें
• यदि फ़ाइल मौजूद नहीं है तो उसे बनाने का प्रयास करें।
• पढ़ें और लिखें
a • अंत में फ़ाइल में जोड़ें
• यदि फ़ाइल मौजूद नहीं है तो उसे बनाने का प्रयास करें।
• केवल लिखें
a+ • फ़ाइल के अंत में PHP जोड़ें
• यदि फ़ाइल मौजूद नहीं है तो उसे बनाने का प्रयास करें
• पढ़ें और लिखें
  • “$use_include_path” वैकल्पिक है, डिफ़ॉल्ट गलत है, यदि सही पर सेट किया जाता है, तो फ़ंक्शन शामिल पथ में भी खोज करता है।
  • “$context” वैकल्पिक है, इसका उपयोग संदर्भ समर्थन निर्दिष्ट करने के लिए किया जा सकता है।

PHP fwrite() फ़ंक्शन

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

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

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

यहाँ,

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

PHP fclose() फ़ंक्शन

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

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

<?php
fclose($handle); 
?>

यहाँ,

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

आइए अब एक उदाहरण देखें जो my_settings.txt बनाता है।

हम निम्नलिखित कार्यों का उपयोग करेंगे।

  • फ़ोपेन
  • एफलिखें
  • 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 'my_settings.txt' written successfully"; ?>    

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

यूआरएल खोलें http://localhost/phptuts/create_my_settings.php अपने ब्राउज़र में.

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

PHP fclose फ़ंक्शन

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

URL पर वापस जाएँ http://localhost/phptuts/file_function.php .

आपको क्या परिणाम मिले?

PHP fgets() फ़ंक्शन

fgets फ़ंक्शन का उपयोग 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 कॉपी फ़ंक्शन का उपयोग फ़ाइलों को कॉपी करने के लिए किया जाता है। इसका मूल सिंटैक्स निम्न है। 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 'my_settings_backup.txt'"; 
?>

फ़ाइल हटाना

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

<?php
if (!unlink('my_settings_backup.txt'))
{
     echo "Could not delete file";
 }
else
{
     echo "File 'my_settings_backup.txt' 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 इसमें अंतर्निहित कार्यों का एक समृद्ध संग्रह है जो फाइलों के साथ काम करना सरल बनाता है।
  • सामान्य फ़ाइल फ़ंक्शन में fopen, fclose, file_get_contents शामिल हैं
  • नीचे दी गई तालिका में शामिल कार्यों का सारांश दिखाया गया है
समारोह विवरण
फ़ाइल मौजूद यह निर्धारित करने के लिए उपयोग किया जाता है कि कोई फ़ाइल मौजूद है या नहीं
फोपेन फ़ाइल खोलने के लिए उपयोग किया जाता है। खोली गई फ़ाइल के लिए पॉइंटर लौटाता है
fwrite फ़ाइलों में लिखने के लिए उपयोग किया जाता है
fclose बंद फ़ाइलों को खोलने के लिए उपयोग किया जाता है
fgets फ़ाइल को लाइन दर लाइन पढ़ने के लिए उपयोग किया जाता है
प्रतिलिपि किसी मौजूदा फ़ाइल की प्रतिलिपि बनाने के लिए उपयोग किया जाता है
उतारना किसी मौजूदा फ़ाइल को हटाने के लिए उपयोग किया जाता है
file_get_contents किसी फ़ाइल की सामग्री को स्ट्रिंग के रूप में लौटाने के लिए उपयोग किया जाता है