یک برنامه PHP بنویسید که با استفاده از ob_start چند هندلر بافر خروجی اضافه کند، نام همه هندلرهای فعال را با ob_list_handlers بخواند و آنها را همزمان در یک فایل متنی ذخیره کرده و در پایان با ob_end_flush خروجی را ارسال نماید.
7.0 بازدید آخرین ویرایش در 201 روز قبل ساعت 03:26 0.0
برای حل این مسئله از توابع ob_start برای آغاز بافر خروجی (میتوانید با callback ساده مثل افزودن متن یا تغییر محتوا امتحان کنید)، ob_list_handlers برای گرفتن آرایهٔ نام هندلرهای فعال و file_put_contents برای ذخیرهٔ لیست در فایل استفاده کنید. در پایان از ob_end_flush برای ارسال محتوا به کاربر بهره ببرید. نکات: دسترسی نوشتن به پوشه را چک کنید، برای دیدن اثر هدرها توجه داشته باشید که بافر خروجی جلوی ارسال زودهنگام خروجی را میگیرد و میتوانید پیش از ob_end_flush هدرها را با header() ست کنید و با ob_get_level از سطح بافر آگاه شوید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای اجرای مطمئن، قبل از نوشتن در فایل خروجی مسیر و سطح دسترسی پوشه را با is_writable بررسی کنید. استفاده از callback در ob_start مفید است تا بتوانید پیش از ارسال نهایی محتوا یا ثبت هدرها را تغییر دهید و با ob_get_level از وجود بافرهای چندگانه آگاه شوید. هنگام استفاده از ob_list_handlers به تفاوتهای رفتار هندلرها توجه کنید و مطمئن شوید که ثبت آنها در فایل با مجوز مناسب انجام میشود. در نهایت با ob_end_flush خروجی را ارسال کنید و در صورت نیاز با header() ابتدا هدرها را تنظیم کنید و سپس لیست هندلرها را در فایل ذخیره کنید.
گزارش