Php output buffering缓存及程序缓存_PHP教程
在
若
下面测试
在测试前为了测试效果更明显,我们在
Output_buffering=off
Display_errors=on
代码
<strong><span 1</span> <span echo</span> "php"<span ; </span><span 2</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span 3</span> <span echo</span> 'ok';</strong>
则会出现
php
Warning: Cannot modify header information - headers already sent by (output started at D:\www\apache\htdocs\test\t2.php:2) in D:\www\apache\htdocs\test\t2.php on line 3
ok
代码2:
<strong><span 1</span> <span ob_start</span><span (); </span><span 2</span> <span echo</span> "php"<span ; </span><span 3</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span 4</span> <span echo</span> 'ok';</strong>
结果就完全正确了
原因分析:
代码Phpecho ‘php’时已经向浏览器发送一个头信息,
当再出现
header("content-type:text/html;charset='utf-8'");
又看到一个头信息,这时已经打回了上面的头信息,无法更该便出错了。
代码‘php’时把要打给浏览器的数据先放到
为加深理解再看以下代码
代码
<strong><span ob_start</span><span (); </span><span echo</span> "php"<span ; </span><span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span echo</span> 'ok'<span ; </span><span echo</span> '<hr/>'<span ; </span><span $ob</span>=<span ob_get_contents</span><span (); </span><span echo</span> <span $ob</span>;</strong>
会输出
Ob_get_contents()
Ob_get_contents()
代码
<strong><span 1</span> <span ob_start</span><span (); </span><span 2</span> <span echo</span> "php"<span ; </span><span 3</span> <span ob_clean</span>();<span //</span><span 清除缓存内容但不关闭缓存区,还能用(往里添加东西)</span> <span 4</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span 5</span> <span echo</span> 'ok'<span ; </span><span 6</span> <span echo</span> '<hr/>'<span ; </span><span 7</span> <span $ob</span>=<span ob_get_contents</span><span (); </span><span 8</span> <span echo</span> <span $ob</span>;</strong>
结果:
代码
<strong><span ob_start</span><span (); </span><span echo</span> "php"<span ; </span><span ob_end_clean</span>();<span //</span><span 清空缓存内容并关闭缓存区,ob_get_contents取不到内容</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span echo</span> 'ok'<span ; </span><span echo</span> '<hr/>'<span ; </span><span $ob</span>=<span ob_get_contents</span><span (); </span><span echo</span> <span $ob</span>;</strong>
结果:
代码
<strong><span ob_start</span><span (); </span><span echo</span> "php"<span ; </span><span ob_end_flush</span>();<span //</span><span 把缓存送到程序缓存内并关闭ob缓存</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span echo</span> 'ok'<span ; </span><span echo</span> '<hr/>'<span ; </span><span $ob</span>=<span ob_get_contents</span><span (); </span><span echo</span> <span $ob</span>;</strong>
代码
<strong><span ob_start</span><span (); </span><span echo</span> "php"<span ; </span><span ob_flush</span>();<span //</span><span 把Ob 缓存送到程序缓存,不关闭ob缓存</span> <span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span echo</span> 'ok'<span ; </span><span echo</span> '<hr/>'<span ; </span><span $ob</span>=<span ob_get_contents</span><span (); </span><span echo</span> <span $ob</span>;</strong>
结果:
Ob_clean()
清空
Ob_get_flush()
冲刷出缓存到程序缓存,关闭
代码
<strong><span Ob_start</span><span (); </span><span echo</span> 'abc'<span ; </span><span header</span>("content-type:text/html;charset='utf-8'"<span ); </span><span echo</span> 'hello'<span ; </span><span Ob_flush</span><span (); </span><span echo</span> 'aa'<span ; </span><span echo</span> <span ob_get_contents</span><span (); </span><span //</span><span abchelloaaaa</span></strong>
2.ob_flush(),flush()
代码
<strong><span ob_start</span><span (); </span><span echo</span> 'a'<span ; </span><span flush</span>();<span //</span><span 把Ob缓存冲刷到程序缓存再冲刷到浏览器输出,不影响ob缓存</span> <span echo</span> <span ob_get_contents</span><span (); </span><span //</span><span aa</span></strong>
代码
<strong><span ob_start</span><span (); </span><span echo</span> 'a'<span ; </span><span ob_flush</span>();<span //</span><span 把Ob缓存冲刷到程序缓存,ob里没有了缓存内容</span> <span echo</span> "<br/>ob_con".<span ob_get_contents</span><span (); </span><span //</span><span a 是按正常输出的,Ob里没内容</span></strong>
代码
<strong><span echo</span> <span str_repeat</span>(" ",1024);<span //</span><span 一些版本的 Microsoft Internet Explorer 只有当接受到的256个字节以后才开始显示该页面,所以必须发送一些额外的空格来让这些浏览器显示页面内容。 </span> <span for</span>(<span $i</span>=0;<span $i</span><5;<span $i</span>++<span ){ </span><span echo</span> <span $i</span><span ; </span><span echo</span> "<br/>"<span ; </span><span sleep</span>(1<span ); </span><span flush</span><span (); }</span></strong>
会一秒输出一个数字
如果没有

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Tutorial ini menunjukkan cara memproses dokumen XML dengan cekap menggunakan PHP. XML (bahasa markup extensible) adalah bahasa markup berasaskan teks yang serba boleh yang direka untuk pembacaan manusia dan parsing mesin. Ia biasanya digunakan untuk penyimpanan data

JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Rentetan adalah urutan aksara, termasuk huruf, nombor, dan simbol. Tutorial ini akan mempelajari cara mengira bilangan vokal dalam rentetan yang diberikan dalam PHP menggunakan kaedah yang berbeza. Vokal dalam bahasa Inggeris adalah a, e, i, o, u, dan mereka boleh menjadi huruf besar atau huruf kecil. Apa itu vokal? Vokal adalah watak abjad yang mewakili sebutan tertentu. Terdapat lima vokal dalam bahasa Inggeris, termasuk huruf besar dan huruf kecil: a, e, i, o, u Contoh 1 Input: String = "TutorialSpoint" Output: 6 menjelaskan Vokal dalam rentetan "TutorialSpoint" adalah u, o, i, a, o, i. Terdapat 6 yuan sebanyak 6

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

PHP dan Python masing -masing mempunyai kelebihan mereka sendiri, dan memilih mengikut keperluan projek. 1.PHP sesuai untuk pembangunan web, terutamanya untuk pembangunan pesat dan penyelenggaraan laman web. 2. Python sesuai untuk sains data, pembelajaran mesin dan kecerdasan buatan, dengan sintaks ringkas dan sesuai untuk pemula.

PHP digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan pembangunan API. 1) e-dagang: Digunakan untuk fungsi keranjang belanja dan pemprosesan pembayaran. 2) Sistem Pengurusan Kandungan: Digunakan untuk penjanaan kandungan dinamik dan pengurusan pengguna. 3) Pembangunan API: Digunakan untuk Pembangunan API RESTful dan Keselamatan API. Melalui pengoptimuman prestasi dan amalan terbaik, kecekapan dan pemeliharaan aplikasi PHP bertambah baik.

PHP adalah bahasa skrip yang digunakan secara meluas di sisi pelayan, terutamanya sesuai untuk pembangunan web. 1.PHP boleh membenamkan HTML, memproses permintaan dan respons HTTP, dan menyokong pelbagai pangkalan data. 2.PHP digunakan untuk menjana kandungan web dinamik, data borang proses, pangkalan data akses, dan lain -lain, dengan sokongan komuniti yang kuat dan sumber sumber terbuka. 3. PHP adalah bahasa yang ditafsirkan, dan proses pelaksanaan termasuk analisis leksikal, analisis tatabahasa, penyusunan dan pelaksanaan. 4.Php boleh digabungkan dengan MySQL untuk aplikasi lanjutan seperti sistem pendaftaran pengguna. 5. Apabila debugging php, anda boleh menggunakan fungsi seperti error_reporting () dan var_dump (). 6. Mengoptimumkan kod PHP untuk menggunakan mekanisme caching, mengoptimumkan pertanyaan pangkalan data dan menggunakan fungsi terbina dalam. 7
