ホームページ >php教程 >php手册 >PHP の結果を非 PHP ページに出力する方法

PHP の結果を非 PHP ページに出力する方法

WBOY
WBOYオリジナル
2016-06-21 09:15:381172ブラウズ

ページ

問題は、統計カウントを自分で実装した後、その出力を PHP 関数をサポートしていないページで使用したいことです。では、どうすればよいでしょうか。主な解決策は、JavaScript スクリプトを出力することです。これは、動的なニュースや広告投票の実装などに非常に便利です。もちろん、ここでは特定のプログラムのダウンロード数を非 PHP ページに出力する方法を説明します。

ファイル形式は、

インデックス|ファイル名のヒント|リンク|カウント

ここでは「|」行で区切られていることに注意してください。処理にはテキストファイルを使用します。その中には次のようなデータ行が含まれている可能性があります:

file1|Test file 1|../download/file1.zip|10

ダウンロード数が 10 回である可能性があることがわかります。これを他のページに 10 回出力したいだけです。

ステップ 1: Javascript を書く

とても簡単です:

< script language=javascript src="../bin/output.php?id=file1"< /script> ですよね! src に続くものは出力スクリプト プログラムを指し、「?」に続くものはスクリプトに渡されるパラメーターを指します。では、output.php を実行する前に、どのようなデータを出力する必要があるのでしょうか? document.write() などの JavaScript ステートメントを出力する必要があります。このようにして、ブラウザは、output.php の出力を JavaScript プログラムとして扱い、このスクリプトが他の場所から取得されることを除いて、直接書かれたスクリプトと同様に処理します。

さて、どのようなコンテンツを出力する必要があるかがわかったので、php プログラムを作成できます。

ステップ2:結果を出力する


$fp=fopen("../count/download.db", "r");

$flag=FALSE

while(!feof($fp))

{

$line=fgets($fp, 256);

list($index, $title, $url, $count)=split("|", $line); Index)==strto lower($id))

{

$flag=TRUE;

}

}

if ($flag)

{

echo "document.write($count);";

}

else

echo "document.write("not found");"; このコードも非常に単純ですが、いくつかのポイントがあります。まずファイルを開きます。 $flag は、指定されたインデックスのファイル レコードが見つかったかどうかを示し、

は最初に FALSE に設定されます。別のループでは、ファイルが終了していないことが条件となります。

次に、ループ本体が来ます。テキストの行を、できればもっと長く取り出します。フィールドを分割するには、区切り文字として「|」を使用します。使用される分割関数は正規表現であり、「|」は「」記号とともに使用される特殊記号であることに注意してください。次に、それらをそれぞれ対応する変数に代入します。ここで本当に重要なのは、$index と $count です。入力パラメータ $id と取得したインデックス ($index) が等しいかどうかを比較し、等しい場合は、見つかったフラグを TRUE に設定してループを終了します。それ以外の場合は、次のデータ行を検索します。

完了したら、ファイルを閉じ、マークが見つかったかどうかに基づいて、対応する JavaScript スクリプトを出力します。

$id の使用については、呼び出された URL?id=xxx を PHP が自動的に処理し、直接使用できます。 $HTTP_GET_VARS[id] も使用できます。










声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。