عدم نمایش متن خروجی یک تابع (Function)، با توابع ob_start و ob_end_clean ، در PHP
فرض کنید که بخشی از عملکرد یک تابع (Function) در PHP ، چاپ مقداری متن در خروجی صفحه باشد، ولی ما در هنگام استفاده از آن تابع (Function)، بخواهیم که تابع (Function) عملکرد خود را اجرا نماید، اما هیچ متنی را در خروجی چاپ نکند. برای این منظور، می توانیم از توابع ob_start و ob_end_clean استفاده نماییم.
با فرض اینکه تابع (Function) مورد نظر، دارای نام Kelidestan باشد، برای اینکه تابع (Function) هیچ متنی را خروجی صفحه چاپ نکند، آن را به همراه توابع ob_start و ob_end_clean به صورت زیر اجرا می نماییم :
به مثال زیر توجه کنید :
تابعی با نام Kelidestan تعریف می کنیم ( کلید شماره 377 ) که عملکرد آن به این صورت است که یک فایل با نام myFile.txt را در پوشه فعلی (Current Folder) می سازد ( کلید شماره 452 ) و همچنین دو متن text 1 و text 2 را در خروجی صفحه چاپ می نماید.
ابتدا تابع Kelidestan را به صورت عادی اجرا می کنیم تا دو متن مورد نظر را در خروجی صفحه چاپ کند :
نتیجه :
خروجی صفحه به صورت بالا است و همچنین یک فایل با نام kelidestan.txt در پوشه فعلی (Current Folder) ساخته می شود (فایل kelidestan.txt را فعلا حذف کنید، چون در ادامه قصد داریم که مجددا این کدها را با کمی تغییر، اجرا نماییم).
اما این بار، تابع Kelidestan را به همراه توابع ob_start و ob_end_clean به کار می بریم تا هیچ متنی را در خروجی صفحه چاپ نکند :
نتیجه :
همان طور که مشاهده می کنید، هیچ متنی در خروجی صفحه چاپ نشده است، اما یک فایل با نام kelidestan.txt در پوشه فعلی (Current Folder) ساخته می شود (تابع عملکرد خود، به غیر از چاپ متن در خروجی، را اجرا خواهد کرد).