Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menutup ob_start dalam php

Bagaimana untuk menutup ob_start dalam php

藏色散人
藏色散人asal
2021-11-19 10:58:122022semak imbas

php ob_start digunakan untuk membuka penimbal kawalan output Untuk menutup ob_start, anda boleh menggunakan fungsi ob_end_clean() untuk membuang kandungan penimbal secara senyap.

Bagaimana untuk menutup ob_start dalam php

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer DELL G3

Cara menutup ob_start in php?

ob_start — Buka penimbal kawalan output

Penerangan

ob_start(callable $output_callback = null, int $chunk_size = 0, int $flags = PHP_OUTPUT_HANDLER_STDFLAGS): bool

Fungsi ini akan membuka penimbal output. Apabila penimbalan output diaktifkan, skrip tidak akan mengeluarkan kandungan (kecuali pengepala http), sebaliknya kandungan yang akan dikeluarkan disimpan dalam penimbal dalaman.

Kandungan penimbal dalaman boleh disalin ke pembolehubah rentetan menggunakan fungsi ob_get_contents(). Untuk mengeluarkan kandungan yang disimpan dalam penimbal dalaman, anda boleh menggunakan fungsi ob_end_flush() . Selain itu, menggunakan fungsi ob_end_clean() akan membuang kandungan penimbal secara senyap.

Amaran

Sesetengah pelayan web (cth. Apache) akan menukar direktori kerja skrip apabila terdapat fungsi panggil balik dipanggil. Anda boleh menukarnya kembali dalam fungsi panggil balik, contohnya chdir(dirname($_SERVER['SCRIPT_FILENAME'])) .

Penimbal output boleh disusun, yang bermaksud bahawa semasa satu ob_start() aktif, anda boleh memanggil ob_start() yang lain. Cuma pastikan anda memanggil ob_end_flush() bilangan kali yang betul. Jika berbilang panggilan balik output aktif, output akan sentiasa ditapis melaluinya dalam susunan bersarang.

Parameter

output_callback

Fungsi output_callback parameter pilihan boleh ditentukan. Fungsi ini mengambil rentetan sebagai hujah dan mengembalikan rentetan. Fungsi ini akan dipanggil apabila penimbal keluaran disiram (dipancarkan) atau dibersihkan (ob_flush(), ob_clean() atau fungsi serupa atau apabila kandungan penimbal keluaran disalurkan ke penyemak imbas pada akhir permintaan . Apabila output_callback dipanggil, ia menerima kandungan penimbal output sebagai parameter dan dijangka mengembalikan penimbal keluaran baharu sebagai hasilnya. Jika output_callback ini bukan fungsi boleh panggil, fungsi ini akan mengembalikan palsu.

Berikut ialah tandatangan panggil balik:

handler(string $buffer, int $phase = ?): string

penampan

Keluarkan kandungan penimbal.

fasa

bit mask PHP_OUTPUT_HANDLER_* pemalar.

Jika output_callback mengembalikan palsu , kandungan input asal dihantar terus ke penyemak imbas.

Parameter output_callback ini boleh dielakkan dengan terus memberikan nilai nol.

ob_end_clean(), ob_end_flush(), ob_clean(), ob_flush() dan ob_start() tidak boleh dipanggil daripada fungsi panggil balik. Jika ia dipanggil daripada fungsi panggil balik, tingkah laku yang terhasil tidak ditentukan. Jika anda ingin memadamkan kandungan penimbal, kembalikan "" (rentetan kosong) daripada fungsi panggil balik. Ia juga tidak boleh menggunakan fungsi penimbal output seperti print_r($expression, true) atau highlight_file($filename, true) daripada fungsi panggil balik.

注意:
ob_gzhandler() function exists to facilitate sending gz-encoded data to web browsers that support compressed web pages. ob_gzhandler() determines what type of content encoding the browser will accept and will return its output accordingly.

chunk_size

Jika parameter pilihan chunk_size ditetapkan, penimbal akan dipadamkan selepas sebarang operasi output yang menyebabkan panjang penimbal sama dengan atau melebihi saiz_chunk. Nilai lalai 0 bermakna fungsi dipanggil hanya pada penghujungnya.

Sebelum PHP 5.4.0, 1 ialah nilai kes khas yang menetapkan chunk_size kepada 4096 bait.

bendera

Parameter bendera mewakili bit topeng yang digunakan untuk mengawal operasi pada penimbal. Lalai adalah untuk membolehkan penampan output dibersihkan, dibuang dan dikeluarkan, yang boleh ditetapkan secara eksplisit melalui php_output_handler_cleanable | , atau kembalikan palsu apabila gagal.

Pembelajaran yang disyorkan: "

Tutorial Video PHP

"

Atas ialah kandungan terperinci Bagaimana untuk menutup ob_start dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn