PHP File Handling
Introduction to PHP File Handling
ज्यादातर सभी languages files के साथ काम कर सकती है। PHP भी ऐसे कुछ functions provide करती है, जिनकी मदद से आप easily files को handle कर सकते है। Files को handle करने की ये ability PHP को top scripting languages के group में शामिल करती है।
सभी web applications database यूज़ नहीं करती है, इसलिए simple data को text files में store करना एक अच्छा विकल्प है। PHP में files के साथ आप 6 तरह के operations perform कर सकते है।
- Opening a file
- Reading a file
- Writing a file
- Appending a file
- Closing a file
- Deleting a file
इन सभी operations को PHP में कैसे perform किया जाता है, आइये देखते है।
Opening a File
Files को open करने के लिए PHP fopen() मेथड provide करती है। इस method में 2 argument pass किये जाते है। पहला argument file का नाम होता है, और दूसरा आप उसे किस mode में open करना चाहते है वह mode होता है। PHP file को कई modes में open कर सकते है। ये सभी modes एक character के द्वारा represent किये जाते है। ये सभी modes अलग अलग तरह से operations परफॉर्म करने के लिए यूज़ किये जाते है। इन सभी modes के बारे में निचे दिया जा रहा है।
Modes | Explanation |
---|---|
r | इस mode से files को सिर्फ read किया जा सकता है। |
r+ | इस mode से file को read भी किया जा सकता है और उस file में write भी किया जा सकता है। |
w | इस mode से files में सिर्फ write किया जा सकता है। यदि file पहले से नहीं है तो create हो जाती है। |
w+ | इस mode से file के साथ read/write दोनों operation perform किये जा सकते है। |
a | ये mode पुरानी file के content को delete नहीं करता बल्कि उसी में नए content को add कर देता है। |
a+ | इस mode में आप file को read भी कर सकते है और उसमे data append भी कर सकते है। |
x | इस mode से आप file में data write कर सकते है। नयी file क्रिएट की जाती है। लेकिन यदि file पहले से है तो error शो होगी। |
x+ | इस mode से आप read और write दोनों कर सकते है। |
File के साथ किसी भी तरह का operation perform करने के लिए सबसे पहले file को open करना जरुरी होता है। PHP में file open करने का उदाहरण निचे दिया जा रहा है।
<?php
$myFile = fopen("myFile.txt","w")
?>
इस उदाहरण में हमने file को open किया है। अब आप इस file के साथ जिस mode में आपने इसे open किया है। उसके according कोई भी operation perform कर सकते है। यदि myFile नाम की कोई file पहले से नहीं होगी तो इस नाम से file create हो जायेगी।
Reading From a File
File को read करने के लिए आपको 2 functions यूज़ करने पड़ते है। इसके लिए आप fread() function यूज़ करते है। इस function में आप file stream के साथ उसकी length पास करते है। File stream fopen() method द्वारा return की जाती है। fread() method file के content को string रूप में return करता है लेकिन उसे print करने के लिए आपको echo statement को use करना होगा।
File की length इसलिए pass की जाती है, ताकि compiler को पता चले की file में content कँहा तक है। इसके लिए आप filesize() मेथड यूज़ करते है। यह method file की size integer के रूप में return करता है। इस method में आप file का नाम pass करते है।
PHP में file read करने का उदाहरण निचे दिया जा रहा है।
<?php
$bhtFile = fopen("BHT.txt","r");
$size = filesize("BHT.txt");
$filedata = fread($bhtFile,$size);
echo $filedata;
fclose($bhtFile);
?>
ऊपर दिया गया उदाहरण निचे दिया गया output generate करता है।
Writing to a File
किसी भी file में data store करने के लिए आप fwrite() function यूज़ करते है। इस function में file stream और data pass किया जाता है। File stream fopen() method द्वारा return की जाती है। PHP में data write करने का उदाहरण निचे दिया जा रहा है।
<?php
$myFile = fopen("myFile.txt","w");
fwrite($myFile,"This website is cool");
?>
ऊपर दिया गया उदाहरण current directory में myFile नाम की text file open करता है और उसमे This website is cool text store करता है। यदि file पहले से create नहीं की गयी है तो नयी file create की जाती है।
Appending to a File
जब भी आप किसी existing file में data write करते है, तो उस file का previous data delete हो जाता है। लेकिन यदि आप चाहे तो previous data को delete ना करते हुए उसी के end में new data को add कर सकते है। इसके लिए आपको file को a mode के साथ open करना होता है और उसमे fwrite() function के द्वारा data आप write करते है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$myFile = fopen("myFile.txt","a");
fwrite($myFile,"and I am also cool.");
?>
ऊपर दिया गया उदाहरण myFile.txt file के existing content के आगे pass की गयी string and I am also cool को add करता है।
Closing a File
Operations complete होने के बाद आपको file stream close कर देनी चाहिए। इसके लिए PHP fclose() method provide करती है। इस method में file pointer pass किया जाता है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$myFile = fopen("filename.txt","w");
//do some operations here
fclose($myFile);
?>
Deleting a File
काम पूरा होने के बाद यदि आप file को delete करना चाहते है तो इसके लिए PHP unlink method provide करती है। इसका उदाहरण निचे दिया जा रहा है।
<?php
$myFile = fopen("filename.txt","a");
//do some operations here
unlink($myFile);
?>
PHP file handling के द्वारा आप dynamically files को handle कर सकते है।