程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 如何將PHP的結果輸出到非PHP頁面中

如何將PHP的結果輸出到非PHP頁面中

編輯:關於PHP編程

這個問題是當我自已實現了統計計數之後,我想將它的輸出用在我的不支持PHP功能的頁面中,那麼應該如何做呢?主要的解決辦法是輸出一段javascript腳本即可。這個是很有用的,比如實現動態新聞, 廣告輪詢,當然這裡是講如何把某個程序的下載計數輸出到非PHP頁面中去。

  先讓我們設想一下:我已經有了一個程序下載計數文件在我的網站上,如../count/download.db。
 
文件格式為:
  索引|文件名提示|鏈接|計數
注意,這裡用"|"線分隔。我采用的是文本文件進行處理。裡面可能某一行數據為:
  file1|測試文件1|../download/file1.zip|10
可以看到,下載次數可能已經是10次了。現在我就想把這個10次輸出到其它的頁面中。
 
  第一步:寫Javascript腳本
  很簡單:
<script language=javascript src="../bin/output.php?id=file1"></script>
  是不是!src後面是指輸出的腳本程序,"?"後面是傳入腳本的參數。那麼output.php應該輸出什麼數據
才能被執行呢?應該輸出javascript語句,如document.write()之類的語句。這樣,浏覽器就會把output.php
的輸出結果看成一段javascript程序再進行處理,就好象直接寫的腳本一樣,只不過這段腳本是從別的地方
得到的。
 
  好了,知道應該輸出什麼樣的內容了,就可以寫php程序了。
 
  第二步:輸出結果

<?
$fp=fopen("../count/download.db", "r");
$flag=FALSE;
while(!feof($fp))
{
$line=fgets($fp, 256);
list($index, $title, $url, $count)=split("|", $line);
if (strtolower($index)==strtolower($id))
{
$flag=TRUE;
break;
}
}
fclose($fp);
if ($flag)
{
echo "document.write($count);";
}
else
echo "document.write("not found");";
?>
  這段代碼也很簡單,但是有幾點要說明。先打開一個文件。$flag表示是否找到指定索引的文件記錄,
首先置為FALSE。再是一個循環,條件是文件沒有結束。
 
  然後是循環體:取出一行文本,長度最好長點。進行字段分割,以"|"為分割符。注意,使用的split函
數是正則表達式,"|"是一個特殊符號用以用""號。然後分別放入相應的變量中。在這裡我們真正關心的是
$index和$count。比較輸入的參數$id與取出的索引($index)是否相等,如果相等,則將找到標志設為TRUE,
退出循環。否則查找下一行數據。
 
  結束時,關閉文件,根據是否找到標志輸出相應的javascript腳本即可。
 
  對於$id的使用,是PHP自動將調用的URL處?id=xxx進行了處理,可以直接使用。也可以使用
$HTTP_GET_VARS[id]。



  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved