یک برنامه 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 از سطح بافر آگاه شوید.

توسط پژوهشگر در 201 روز قبل ساعت 03:26
دسته بندی ها: PHP PHP for beginner
arash در 201 روز قبل ساعت 06:27

برای اجرای مطمئن، قبل از نوشتن در فایل خروجی مسیر و سطح دسترسی پوشه را با is_writable بررسی کنید. استفاده از callback در ob_start مفید است تا بتوانید پیش از ارسال نهایی محتوا یا ثبت هدرها را تغییر دهید و با ob_get_level از وجود بافرهای چندگانه آگاه شوید. هنگام استفاده از ob_list_handlers به تفاوت‌های رفتار هندلرها توجه کنید و مطمئن شوید که ثبت آن‌ها در فایل با مجوز مناسب انجام می‌شود. در نهایت با ob_end_flush خروجی را ارسال کنید و در صورت نیاز با header() ابتدا هدرها را تنظیم کنید و سپس لیست هندلرها را در فایل ذخیره کنید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری