顯示具有 DW_PHP_AJAX 標籤的文章。 顯示所有文章
顯示具有 DW_PHP_AJAX 標籤的文章。 顯示所有文章

2026年8月25日 星期二

DW_PHP_AJAX_CH4 PHP對資料的接收與輸出_(5)緩衝區的使用

通常, 在下達輸出命令時, 網頁伺服器便將資料立即送交客戶端的瀏覽器, 此時, PHP程式並不一定是已經執行完畢了, 因此, 網頁伺服器可能是一邊在執行敘述命令, 另一邊又在忙著輸出資料, 所以造成網頁伺服器的負載較重, 為了改善這種情形, 可以呼叫「ob_start()」函數, 讓要輸出到使用者端瀏覽器的資料先寫入到「buffer(緩衝區)」裡, 等到PHP程式執行完畢, 也就是整個PHP網頁都解譯完畢, 再將存放在緩衝區裡的資料一併(全部的資料)輸出到使用者端瀏覽器。 

在上一節範例的說明中, 筆者已強調header()函數只可用在尚未有任何資料輸出至瀏覽器之前才可呼叫, 否則將會產生錯誤, 因此, 可應用「ob_start()」函數, 讓整個PHP網頁都解譯完畢後, 再將存放在緩衝區裡的資料一併全部地輸出到使用者端瀏覽器:
<body>
<?php
ob_start();
header("Location: message.htm");
?>
</body>

喔喔!上例還是錯了, 因為上例的HTML標籤(<body>)放置在「ob_start();」命令敘述之前, HTML標籤已早一步執行輸出的動作了, 所以, 「ob_start();」命令敘述應該擺在任何HTML標籤或header()函數、echo()、print()函數、printf()函數命令敘述之前, 最簡單的方法就是將「ob_start();」命令敘述放在PHP程式網頁的第一行。

2026年8月16日 星期日

DW_PHP_AJAX_CH4 PHP對資料的接收與輸出_(4)檔頭資訊

檔頭資訊是指網頁文件中被…標籤包括起來的文件資訊,常見的有文件抬頭(被標籤包括起來)以及文件的類型、所使用的編碼字集等:
<html>
<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>新增網頁1</title>
</head>
<body>
網頁的顯示內容
</body>
  </html>
這些檔頭資訊都可以透過PHP的「header()」函數來做輸出:

2026年7月30日 星期四

DW_PHP_AJAX_CH4 PHP對資料的接收與輸出_(3)資料輸出

在前面章節中, 要輸出資料到網頁畫面中, 筆者使用了echo()函數,可是筆者又使用了很多不同的格式, 您可能弄得一團霧水, 所以本節將說明一下, 除了echo()函數可輸出資料到網頁畫面中外, 還有幾個函數也有資料輸出的功能, 這些函數讀者也需認識一下。

 [echo()函數]

 echo()函數負責將字串資訊輸出至使用者端,也可與HTML標示混合使用, 標準格式如下:
echo ( string arg1 [, string argn...]);
例如:
<?php echo ("這是由PHP輸出的文字"); ?>
標準的echo()函數用法是將字串內容用一組括號包起來, 而要輸出的字串再用一對雙引號括起來, 因為echo()函數是用來輸出字串資料的。又是括號又是雙引號的很麻煩, 因此, 把最外面的括號拿掉這樣也行:
<?php echo '這是由PHP輸出的文字'; ?>
上例, 筆者將包括字串內容的()去掉, echo()函數仍可正確執行, 同時, 筆者者亦將用以包括字串的雙引號 ” 置換為單引號 ‘ , 這樣也可行, 因為在PHP中, 字串可用雙引號或單引號包括, 但要注意到雙引號或單引號都必須成雙出現, 不可單、雙引號混合使用。 
若有特定的變數值要跟字串一起輸出, 可用「.」小黑點把它連起來, 「.」小黑點前後要加空格(space)!這個空格在echo()函數輸出資料時會被忽略掉:
<?php
$x="PHP";
echo "這是由" . $x . "輸出的文字"; ?>