日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > php開源 > php教程 > php中header("Location:xxx.php")跳轉(zhuǎn)問題

php中header("Location:xxx.php")跳轉(zhuǎn)問題

來源:程序員人生   發(fā)布時(shí)間:2014-03-24 23:45:15 閱讀次數(shù):2932次

在php中header有很多的作用,這里我們給大家介紹在使用header作文件跳轉(zhuǎn)時(shí)一些注意事項(xiàng),希望此文章能給各位朋友帶來快樂。

header("Location:login.php")應(yīng)該注意的幾個(gè)問題 

header("Location:")作為php的轉(zhuǎn)向語句,其實(shí)在使用中,他有幾點(diǎn)需要注意的地方。

1、要求header前沒有任何輸出

但是很多時(shí)候在header前我們已經(jīng)輸出了好多東西了,此時(shí)如果再次header的話,顯然是出錯(cuò)的,在這里我們啟用了一個(gè)ob的概念,ob的意思是在服務(wù)器端先存儲(chǔ)有關(guān)輸出,等待適當(dāng)?shù)臅r(shí)機(jī)再輸出,而不是像現(xiàn)在這樣運(yùn)行一句,輸出一句,發(fā)現(xiàn)header語句就只能報(bào)錯(cuò)了。

具體的語句有:ob_start(); ob_end_clean();ob_flush();.........

2、在header("Location:")后要及時(shí)exit

否則他是會(huì)繼續(xù)執(zhí)行的,雖然在瀏覽器端你看不到相應(yīng)的數(shù)據(jù)出現(xiàn),但是如果你進(jìn)行抓包分析的話,你就會(huì)看到下面的語句也是在執(zhí)行的。而且被輸送到了瀏覽器客戶端,只不過是沒有被瀏覽器執(zhí)行為html而已(瀏覽器執(zhí)行了header進(jìn)行了轉(zhuǎn)向操作)。

所以,標(biāo)準(zhǔn)的使用方法是,如下代碼:

  1. ob_start(); 
  2. ........ 
  3. if ( something ){ 
  4. ob_end_clean(); 
  5. header("Location: yourlocation"); 
  6. exit
  7. else
  8. .......... 
  9. ob_flush(); //可省略 
要想在header前有輸出的話,可以修改php.ini文件

output_handler =mb_output_handler 或 output_handler =on

Output Control 函數(shù)可以讓你自由控制腳本中數(shù)據(jù)的輸出。它非常地有用,特別是對(duì)于:當(dāng)你想在數(shù)據(jù)已經(jīng)輸出后,再輸出文件頭的情況。輸出控制函數(shù)不對(duì)使用 header() 或 setcookie(), 發(fā)送的文件頭信息產(chǎn)生影響,只對(duì)那些類似于 echo() 和 PHP 代碼的數(shù)據(jù)塊有作用。

一、相關(guān)函數(shù)簡(jiǎn)介:

1、Flush:刷新緩沖區(qū)的內(nèi)容,輸出。

函數(shù)格式:flush()

說明:這個(gè)函數(shù)經(jīng)常使用,效率很高。

2、ob_start :打開輸出緩沖區(qū)

函數(shù)格式:void ob_start(void)

說明:當(dāng)緩沖區(qū)激活時(shí),所有來自PHP程序的非文件頭信息均不會(huì)發(fā)送,而是保存在內(nèi)部緩沖區(qū)。為了輸出緩沖區(qū)的內(nèi)容,可以使用ob_end_flush()或flush()輸出緩沖區(qū)的內(nèi)容。

3、ob_get_contents :返回內(nèi)部緩沖區(qū)的內(nèi)容。

使用方法:string ob_get_contents(void)

說明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的內(nèi)容,如果輸出緩沖區(qū)沒有激活,則返回 FALSE 。

4、ob_get_length:返回內(nèi)部緩沖區(qū)的長度。

使用方法:int ob_get_length(void)

說明:這個(gè)函數(shù)會(huì)返回當(dāng)前緩沖區(qū)中的長度;和ob_get_contents一樣,如果輸出緩沖區(qū)沒有激活。則返回 FALSE。

5、ob_end_flush :發(fā)送內(nèi)部緩沖區(qū)的內(nèi)容到瀏覽器,并且關(guān)閉輸出緩沖區(qū)。

使用方法:void ob_end_flush(void)

說明:這個(gè)函數(shù)發(fā)送輸出緩沖區(qū)的內(nèi)容(如果有的話)。

6、ob_end_clean:刪除內(nèi)部緩沖區(qū)的內(nèi)容,并且關(guān)閉內(nèi)部緩沖區(qū)

使用方法:void ob_end_clean(void)

說明:這個(gè)函數(shù)不會(huì)輸出內(nèi)部緩沖區(qū)的內(nèi)容而是把它刪除!

7、ob_implicit_flush:打開或關(guān)閉絕對(duì)刷新

使用方法:void ob_implicit_flush ([int flag])

說明:使用過Perl的人都知道$|=x的意義,這個(gè)字符串可以打開/關(guān)閉緩沖區(qū),而ob_implicit_flush函數(shù)也和那個(gè)一樣,默認(rèn)為關(guān)閉緩沖區(qū),打開絕對(duì)輸出后,每個(gè)腳本輸出都直接發(fā)送到瀏覽器,不再需要調(diào)用 flush()

ob_start() 開始輸出緩沖, 這時(shí)PHP停止輸出, 在這以后的輸出都被轉(zhuǎn)到一個(gè)內(nèi)部的緩沖里.

ob_get_contents() 這個(gè)函數(shù)返回內(nèi)部緩沖的內(nèi)容. 這就等于把這些輸出都變成了字符串.

ob_get_ length() 返回內(nèi)部緩沖的長度.

ob_end_flush() 結(jié)束輸出緩沖, 并輸出緩沖里的內(nèi)容. 在這以后的輸出都是正常輸出.

ob_end_clean() 結(jié)束輸出緩沖, 并扔掉緩沖里的內(nèi)容.

舉個(gè)例子,var_dump()函數(shù)輸出一個(gè)變量的結(jié)構(gòu)和內(nèi)容, 這在調(diào)試的時(shí)候很有用.

但如果變量的內(nèi)容里有 < , > 等HTML的特殊字符, 輸出到網(wǎng)頁里就看不見了. 怎么辦呢?用輸出緩沖函數(shù)能很容易的解決這個(gè)問題,代碼如下:

  1. ob_start(); 
  2. var_dump($var); 
  3. $out = ob_get_contents(); 
  4. ob_end_clean(); 

這時(shí)var_dump()的輸出已經(jīng)存在 $out 里了,你可以現(xiàn)在就輸出,代碼如下:

echo '<pre>' . htmlspecialchars($out) . '</pre>' ;

或者等到將來,再或者把這個(gè)字符串送到模板(Template)里再輸出.
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 国产欧美日韩综合精品一区二区 | 最近中文字幕 | 久久久久久久久久综合 | 国产又黄又爽又色在线视频播放 | 动漫毛片 | 中文字幕不卡视频 | 国产精品久久久久国产a级 在线观看av网站 | 综合网伊人 | 国产精品二区在线观看 | 九九九久久国产免费 | 成人国产在线 | 天堂а在线中文在线无限看推荐 | 精品日韩一区二区三区免费视频 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 一区二区三区在线视频免费观看 | 精品国产乱码久久久久久影片 | 日韩精品 | 日本h视频| 免费在线观看av | 美女视频黄a | 国产日| 99re在线观看 | 亚洲一区二区三区四区五区六 | 偷拍 中文 亚洲 欧美 动漫 | 日韩欧美国产精品 | 久久成年| 成人天堂 | 久久久综合 | av在线免费不卡 | 日韩精品视频久久 | 91久久久久久久久久久久久 | 神马久久福利 | 68精品久久久久久欧美 | 中文字幕亚洲精品 | 国产精品欧美精品 | 日韩三级电影在线观看 | 在线播放国产一区二区三区 | 日日干夜夜干 | 九九看片| 一区二区亚洲视频 | 女人久久 |