PHP တွင် Rewind () သည် များသောအားဖြင့်ဖိုင်ကိုပြန်လည်ဖတ်ရန်လိုအပ်သည့်ဖိုင်၏ start point ကိုပြောင်းရွှေ့ရန်အသုံးပြုသောဖိုင်ကိုညွှန်ပြရန်အသုံးပြုသောအများအားဖြင့်အသုံးပြုသောဖိုင်လည်ပတ်မှုပုံစံတစ်ခုဖြစ်သည်။ သို့သော် Rewind () function ကိုအသုံးပြုသောအခါ "သယံဇာတများကိုပြန်လည်မဖွင့်နိုင်" အမှားတစ်ခုကြုံတွေ့ရနိုင်သည်။ ဖိုင်အရင်းအမြစ်ပိတ်ထားသည့်အခါသို့မဟုတ်ဖိုင်အရင်းအမြစ်ကိုယ်တိုင်ကပြန်လည်သတ်မှတ်ခြင်းကိုမပံ့ပိုးပါ။
PHP တွင် Rewind () function ၏ function သည် function ၏ function ကိုဖိုင်၏အစအ ဦး သို့ပြန်လည်သတ်မှတ်ရန်ဖြစ်သည်။ function ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-keyword">bool</span></span><span> </span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(resource </span><span><span class="hljs-variable">$file</span></span><span>);
</span></span>Parameters : $ file သည် fopen မှဖွင့်ထားသောဖိုင်အရင်းအမြစ်ဖြစ်သည်။
ပြန်လာတန်ဖိုး - အောင်မြင်ပါက ပြန်လည်ရောက်ရှိပါက ပြန်လည်ရောက်ရှိ လာပါ။ မအောင်မြင်ပါက မှားယွင်း ပါ။
ဤအမှား၏အဓိကအကြောင်းရင်းကိုများသောအားဖြင့်အောက်ပါအချက်များကြောင့်ဖြစ်သည်။
Rewind () function ကိုမခေါ်မီဖိုင်အရင်းအမြစ်ကိုကြိုတင်မပိတ်နိုင်အောင်သေချာအောင်လုပ်ပါ။ FCLOESE () ဖိုင်ကို fcose () မှ ပိတ်ထားသည့်အနေဖြင့်,
ဥပမာ -
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fclose</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>); </span><span><span class="hljs-comment">// အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်:အရင်းအမြစ်များကိုပြန်လည်စတင်မရပါ</span></span><span>
</span></span>အဆိုပါ rewind () function သည်လွန်ခဲ့သည့် parameter သည်မှန်ကန်သောဖိုင်အရင်းအမြစ်ဖြစ်ရမည်ဟုလိုအပ်သည်။ မမှန်ကန်သောအရင်းအမြစ်များကို 0 င်ရောက်သော်သို့မဟုတ်အရင်းအမြစ်အမျိုးအစားသည်လိုအပ်ချက်များနှင့်မကိုက်ညီပါက PHP သည်အမှားတစ်ခုချလိမ့်မည်။ ဥပမာအားဖြင့်, null သို့မဟုတ်တံခါးပိတ်အရင်းအမြစ်အတွက် pass ။
ဥပမာ -
<span><span><span class="hljs-variable">$invalid_resource</span></span><span> = </span><span><span class="hljs-literal">null</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$invalid_resource</span></span><span>); </span><span><span class="hljs-comment">// အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်:အရင်းအမြစ်များကိုပြန်လည်စတင်မရပါ</span></span><span>
</span></span>PHP မှအချို့သော stream အမျိုးအစားများသည် rewind () စစ်ဆင်ရေးကိုမထောက်ခံပါ။ ဥပမာအားဖြင့်, fopen (ဥပမာ Remote URLS သို့မဟုတ်ပိုက်လိုင်းများ) (ဥပမာ URL များသို့မဟုတ်ပိုက်လိုင်းများ) မှတဆင့်ဖွင့်လှစ်ထားသည့်အထူးစီးဆင်းမှုအချို့ကိုဖွင့်လှစ်ခြင်းမပြုနိုင်ပါ။ ဤစီးဆင်းမှုများအတွက် rewind () function သည်အကျိုးသက်ရောက်လိမ့်မည်မဟုတ်ပါ, သို့သော် "အရင်းအမြစ်ကိုပြန်လည်သတ်မှတ်ခြင်းမပြုနိုင်" ပါ။
ဥပမာ -
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'http://example.com'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>); </span><span><span class="hljs-comment">// ဖွင့်ထားသောအဝေးမှဖိုင်</span></span><span>
</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>); </span><span><span class="hljs-comment">// အမှားတစ်ခုသတင်းပို့ပါလိမ့်မယ်:အရင်းအမြစ်များကိုပြန်လည်စတင်မရပါ</span></span><span>
</span></span>အကယ်. ဖိုင်ကိုဖိုင်၏အဆုံးသို့ပြောင်းရွှေ့သွားပါက Rewind () ကို ခေါ်ဆိုခြင်း () သည်အမှားတစ်ခုသို့ချက်ချင်းသတင်းပို့ခြင်းမပြုပေ။ ထို့ကြောင့်အမှန်တကယ်လည်ပတ်မှုတွင် ပြန်လည်ခေါ်ဆိုခြင်းမပြုမီလိုအပ်သောဖိုင်မှတ်တမ်းများကိုလုပ်ဆောင်ရန်အကြံပြုသည်။
ဥပမာ -
<span><span><span class="hljs-variable">$file</span></span><span> = </span><span><span class="hljs-title function_ invoke__">fopen</span></span><span>(</span><span><span class="hljs-string">'example.txt'</span></span><span>, </span><span><span class="hljs-string">'r'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">fseek</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>, </span><span><span class="hljs-number">100</span></span><span>); </span><span><span class="hljs-comment">// ဖိုင်ညွှန်ပြဖိုင်ကိုဖိုင်ရှိနေရာတစ်ခုသို့ရွှေ့ပါ</span></span><span>
</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>); </span><span><span class="hljs-comment">// ပုံမှန်အခြေအနေများတွင် Pointer သည်ဖိုင်၏အစသို့ပြန်သွားလိမ့်မည်</span></span><span>
</span></span> ဖိုင်ကိုပိတ်ထားမလားစစ်ဆေးပါ ။
Rewind () မခေါ်မီ () မမျှော်လင့်ဘဲမပိတ်ရန်သေချာအောင်လုပ်ပါ။ ဤသည်ရိုးရှင်းသောခြွင်းချက်စစ်ဆေးမှုများနှင့်အတူသေချာနိုင်ပါတယ်။
<span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">is_resource</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>)) {
</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ဖိုင်အရင်းအမြစ်များကိုမရရှိနိုင်ပါသို့မဟုတ်ပိတ်ထားသည်"</span></span><span>;
}
</span></span> အရင်းအမြစ်အမျိုးအစားကိုအတည်ပြုပါ ။
Rewind () function တွင် parameters များဖြတ်သန်းသွားသော parameters များသည်မှန်ကန်သောဖိုင်အရင်းအမြစ်ဖြစ်သည်ကိုသေချာအောင်လုပ်ပါ။ သငျသညျသယံဇာတသည်မှန်ကန်မှုရှိမရှိမသေချာပါကသင်စစ်ဆေးရန် is_Resource () function ကိုသုံးနိုင်သည်။
၎င်းသည်မှန်ကန်သောဖိုင်စီးဆင်းမှုရှိမရှိစစ်ဆေးပါ ။
ဝေးလံခေါင်သီသောဖိုင်များသို့မဟုတ်အထူးစီးဆင်းမှုများဖြင့်သင်လည်ပတ်နေပါကဤစီးဆင်းမှုများသည် ပြန်လည် စစ်ဆင်ရေးကိုထောက်ခံကြောင်းသေချာစေပါ။ PHP လက်စွဲကိုကြည့်ခြင်းဖြင့်သတ်သတ်မှတ်မှတ်စီးဆင်းမှု၏အပြုအမူနှင့်ကန့်သတ်ချက်များအကြောင်းလေ့လာနိုင်သည်။
ဖိုင်ညွှန်းကိန်းသည်မမျှော်လင့်ဘဲမရွေ့ပါစေနှင့်
ဖိုင်ညွှန်ပြဖိုင်သည်ဖိုင်၏အဆုံးသို့ရောက်သွားပါကဖိုင်ညွှန်ပြစက်ကိုအခြားနေရာတစ်ခုသို့ရွှေ့ရန်သင် FSEEK () ကို သုံးရန်ကြိုးစားနိုင်သည်။ ထို့နောက် rewind () ကိုခေါ်ပါ။
အမှားကိုင်တွယ်သူယန္တရားကိုသုံးပါ ။
@ urom operator ကို သုံး. အမှားအယွင်းများကိုကြည့်ရှုရန် error_get_last () ကိုပေါင်းစပ်ရန် error_get_last () ကိုပေါင်းစပ်ပါ။
<span><span><span class="hljs-keyword">if</span></span><span> (@</span><span><span class="hljs-title function_ invoke__">rewind</span></span><span>(</span><span><span class="hljs-variable">$file</span></span><span>) === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-variable">$error</span></span><span> = </span><span><span class="hljs-title function_ invoke__">error_get_last</span></span><span>();
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အမှားသတင်းစကား: "</span></span><span> . </span><span><span class="hljs-variable">$error</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>];
}
</span></span>"Resource reset" အမှားသည်များသောအားဖြင့်ဖိုင်အရင်းအမြစ်ကိုပိတ်ထားခြင်းသို့မဟုတ် 0 င်ရောက်လာသည့်အရင်းအမြစ်များသည်မမှန်ကန်ပါသို့မဟုတ်ဖိုင်စီးသည်ပြန်လည်သတ်မှတ်ခြင်းကိုမထောက်ပံ့ပါ။ ဤပြ problem နာကိုဖြေရှင်းသောအခါသင်ပထမ ဦး ဆုံးအရင်းအမြစ်၏တရားဝင်မှုကိုစစ်ဆေးရန်လိုအပ်ကြောင်းပထမ ဦး ဆုံးလိုအပ်ကြောင်း, ဖိုင်ကိုပိတ်ထားခြင်းမရှိသေးပါ။ ကျိုးကြောင်းဆီလျော်သောအမှားစစ်ဆေးမှုများနှင့်ခြွင်းချက်စီရင်ချက်များဖြင့်ဤပြ problem နာကိုများသောအားဖြင့်ထိရောက်စွာရှောင်ရှားနိုင်သည်။