Thursday, August 2, 2012

File Function

File Function ေရးသားနည္း

File ေတြကို php သံုးျပီးဖန္တီးမယ္ျပီးေတာ႔ file ထဲမွာ စာသားေတြေရးၾကည္႔ရေအာင္
ကၽြန္ေတာ္ကေတာ႔ အဲဒါေတြလုပ္ေဆာင္ဖို႔  fopen နဲ႔ fclose ဆိုတဲ႔ php function နွစ္ခုကိုအသံုးျပဳမွာပါ
ဖိုင္တည္ေဆာက္ပံုစံ

<?php
$file="cyberoot.txt";    // file name ကေတာ႔ cyberoot ပါ ျပီးေတာ႔ဒါက .txt အမ်ိဳးစားျဖစ္ျပီး text ဖိုင္ျဖစ္ပါတယ္ဆိုတာေျပာတာပါ
$filehandle=fopen($file,'w') or die("i Can not write in file");
fcolse($filehandle);     //ဒီမွာေတာ႔ file ကိုပိတ္ဖို႔အတြက္  fclose function ကိုအသံုးျပဳထားပါတယ္
?>

အဟမ္း ကၽြန္ေတာ္႔၀ါသနာအတိုင္းပဲ႔သိတာေတြကိုေျပာျပခ်င္ပါတယ္ ေကာင္မေလးအေၾကာင္းကလြဲရင္ေပါ႔ ဟီး
အေပၚက code ကိုတစ္ေၾကာင္းခ်င္းစီ အေျဖရွာရေအာင္
line 2 => မွာေတာ႔ $file ဆိုတဲ႔ variable ကိုေၾကျငာထားပါတယ္
$filehandle=fopen($file,'w') or die("i Can not write in file");
line 3 => $filehandle ဆိုျပီး variable တစ္ခုတည္ေဆာက္ပါတယ္ ျပီးေတာ႔ fopen function ကို prameter 2 ေပးထားပါတယ္
ပထမ prameter ကေတာ႔ $file ကိုဖြင္႔မယ္ဆိုတာကိုရည္ညြန္းပါတယ္ . ဒုတိယ parameter 'w' ကေတာ႔ write လုပ္မယ္လို႔အဓိပါယ္ရပါတယ္


file ထဲမွာေရးသားနည္း
အခုဆိုရင္အေပၚက ေရးနည္းေလးကိုနားလည္ေလာက္ျပီဆိုေတာ႔ file ေတြကို ဘယ္လိုဖြင္႔ျပီး ျပန္ပိတ္ရမယ္ဆိုတာသိျပီးေလာက္ပါျပီ
ဒီေတာ႔ အဲဒီ file ထဲမွာစာေတြဘယ္လိုေရးမလဲဆိုတာကိုဆက္လက္ေလ႔လာလိုက္ရေအာင္
ဖိုင္ေတြေရးသားနည္းကဘယ္လိုအတြက္အသံုး၀င္လဲဆိုရင္ေတာ႔ ဥပမာေျပာရရင္
chat log ေတြ / ip ခိုးနည္းေတြ / publishing လုပ္တဲ႔ အခါ password ကို create သို႔မဟုတ္ purchase log & register logေတြလုပ္လို႔ရပါတယ္
ေအာက္မွာေရးသားနည္းကိုေလ႔လာၾကည္႔ပါ

<?php
$data="Hello! Welcome form mmhackforum.com & cyberoot.blogpsot.com";
fwrite($filehandle,$data);
fclose($file);  //fcolse function ကိုေနာက္ဆံုးမွာအျမဲတမ္းအသံုးျပဳသင္႔ပါတယ္
?>

အခုဆိုရင္ ကၽြန္ေတာ္က $data ဆိုတဲ႔ variable တစ္ခုဖန္တီးျပီး "Helo! ဘာညာဘာညာ ဆိုျပီးေရးထားပါတယ္"
fwrite($filehandle,$data);
ဆိုတာကေတာ႔  fwrite function ကိုသံုးထားပါတယ္ျပီးေတာ႔ $filehandle variable ကိုအသံုးျပဳထားတယ္ text file ထဲမွာေတာ႔ $data ထဲက စာေတြကိုေရးသားထားပါတယ္
အေပၚဆံုးက 'w' ေနရာမွာ $data ဆိုတဲ႔ variable ကိုသံုးထားတာသတိ ျပဳမိမွာပါအေပၚမွာသံုးထားတဲ႔ 'w' ဆိုတာက file ရဲ႕အစကေနျပီး
စေရးမယ္လိုဆိုတာပါ တစ္ကယ္လို႔ 'a' လို႔အသံုးျပဳမယ္ဆိုရင္ text file ရဲ႕ေနာက္ဆံုးကေနစေရးမွာျဖစ္ပါတယ္

ဖိုင္ဖတ္နည္း
 ဖိုင္ေတြ ဖန္တီးတာ၊ဖြင္႔တာ၊ပိတ္တာ၊ေရးသားနည္းေတြကိုေလ႔လာခဲ႔ျပီးပါျပီ
အခုဆိုရင္ေတာ႔ file ထဲက text ေတြကို webpage မွာဘယ္လိုျပမယ္ဆိုတာ ဆက္လက္ေလ႔လာၾကည္ရေအာင္

<?php
$fileName="yourfile.txt";
$filehandle=fopen($fileName,'r');     // အခုဆိုရင္ w မဟုတ္ေတာ႔ဘူး r ျဖစ္သြားပါျပီ
?>
အေပၚကေရးနည္းနဲ႔ ဆင္ပါတယ္ r နဲ႔ w ပဲ႔ကြာသြားတာပါ
'r' ဆုိတာက file ကို read လုပ္တာပါ
'w' ဆိုရင္ေတာ႔ write လုပ္မယ္ဆိုတဲ႔ အဓိပါယ္ပါ

file ကို Upload လုပ္နည္း
file ေတြ upload လုပ္တာနည္းနည္းေလးေတာ႔ခက္ခဲ႔ပါတယ္ ဘာေၾကာင္႔လဲဆိုေတာ႔ html နဲ႔ php code ေတြကိုေပါင္းျပီးေရးရတဲ႔အတြက္ေၾကာင္႔ပါပဲ႔
ခက္တယ္ဆိုေတာ႔ သိပ္ျပီးလန္႔မသြားနဲ႔ဦး လံုး၀မလုပ္ဖူးတဲ႔သူေတြအတြက္ခက္တယ္လို႔ေျပာတာ
နည္းနည္းပါးပါးသိတဲ႔လူဆိုရင္ေတာ႔ ေအးေဆးပါ ဟီး
ဒီေတာ႔ ကၽြန္ေတာ္က html နဲ႕ uplaod form တစ္ခုေရးပါမယ္

<form action="upload.php" enctype="multipart/form-data" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000"/>
<h3>Choose File </h3><br/>
<input type="file" name="file"/><br/>
<input type="submit" value="Upload" />
</form>
action="upload.php" ဆိုတာက submit ကိုနိပ္လိုက္တဲ႔အခါမွာ ကၽြန္ေတာ္တို႔ form က upload.php ကို data ပို႔ေပးမွာပါ
enctype="multipart/form-data" ဆိုတာက php function အလုပ္လုပ္တဲ႔အခါ enctype လုပ္တာပါ
image ေတြ upload လုပ္တဲ႔အခါ enctype="multipar/form-data"  ဆိုတာကိုလံုး၀က်န္ခဲ႔လို႔မရပါဘူး
input type="hidden" name="MAX_FILE_SIZE" value="100000"  ဆိုတာက file size ကို 100KB ထက္ေက်ာ္လို႔မရဘူးလို႔သတ္မွတ္ေပးထားတာပါ

အဟမ္း ဟုတ္ေတာ႔ဟုတ္ေနပါျပီ html upload page ေလးေတာ႔ျပီးသြားျပီ
PHP နဲ႔ဆက္ဆြဲမယ္ ေဟ႔

<?php
$file_path="folder/"; // ကၽြန္ေတာ္တို႔ သိမ္းမယ္႔ file ရဲ႕ ေနရာကို folder လိုနာမည္ေပးထားျပီးလမ္းေၾကာင္းကိုညြန္ေပးထားပါတယ္
$file_path=$file_path .  basename ( $_FILES['file']['name']);
if(move_uploaded_file($FILES['file']['tmp_name'],$file_path)){
echo "file has been upload!  :)  ";
}else{
echo "Fail file Upload :(  !";
}
?>

အေပၚက code မွာကၽြန္ေတာ္က move_uploaded_file function ကိုသံုးထားပါတယ္ ဒီ function က ကၽြန္ေတာ္တို႔ file ကို move လုပ္မယ္
ေနရာကို လမ္းေၾကာင္းျပေပးဖို႔လိုပါတယ္ လမ္းေၾကာင္းကိုေတာ႔ temporary file ကိုညြန္းေပးထားပါတယ္ file ကို upload လုပ္ျပီးတဲ႔အခါမွာေတာ႔
file have been upload ဆိုတဲ႔ message ကိုျပေပးမွာပါ ဒါမဟုတ္ဘူးဆိုရင္ေတာ႔ error message ေလးကို လက္ေဆာင္ေပးမွာပါ

Thanks for Reading..
Written by cyberoot1@gmail.com
Ref:Epatron from  Finland! :)

No comments:

Post a Comment

Thanks for your comments
Welcome from cyberoot