この記事の例では、全国をカバーする中央気象台からPHPで収集した天気予報コードを記述しています。参考のためにみんなで共有してください。具体的な分析は次のとおりです:
天気予報情報は中央気象台から収集されており、情報は正確で、対象範囲は広く、コードはシンプルで、クライアント呼び出しに使用することも、サーバー側で処理して表示することもできます。作者の WordPress 天気予報プラグインはこのセクションを使用しています。このコードはサーバー上にキャッシュ ファイルを生成するので、フォルダーが書き込み可能であることを確認するために現在のディレクトリに新しいデータ フォルダーを作成する必要があることに注意してください。
phpの天気予報コードは次のとおりです:
$p = $_get['q']
$k = 0;
$encoding = mb_detect_encoding($p);
if($encoding != "utf-8"){
$p = mb_convert_encoding($p,"utf-8","gbk");
}
$p_arr = 配列(
"01" => "北京"、
"02" => "上海"、
"03" => "天津"、
"04" => "重慶"、
"05" => "黒竜江省"、
"06" => "吉林"、
"07" => "遼寧"、
"08" => "内モンゴル"、
"09" => "河北"、
"10" => "山西"、
「11」 => 「陝西省」、
"12" => "山東"、
「13」 => 「新疆」、
「14」 => 「チベット」、
「15」 => 「青海」、
「16」 => 「ガンス」、
「17」 => 「寧夏」、
「18」 => 「河南」、
「19」 => 「江蘇」、
「20」 => 「湖北」、
「21」 => 「浙江」、
「22」 => 「安徽省」、
「23」 => 「福建省」、
「24」 => 「江西」、
「25」 => 「湖南」、
「26」 => 「貴州」、
「27」 => 「四川」、
「28」 => 「広東」、
「29」 => 「雲南」、
「30」 => 「広西」、
「31」 => 「海南」、
「32」 => 「香港」、
「33」 => 「マカオ」、
「34」 => 「台湾」
);
関数 find(&$item,$key,$data){
グローバル $k
If(preg_match("/$item/u",$data)){
関数 get_data_arr($key){
If(!file_exists("./data/city{$key}.xml")){
$c =file_get_contents( "http://m.weather.com.cn/data5/city{$key}.xml" );
file_put_contents("./data/city{$key}.xml",$c);
その他{
$c = file_get_contents("./data/city{$key}.xml");
$arr =explode(",",$c);
foreach($arr as $v){
$data =explode("|",$v);
$ret[$data[0]] = $data[1];
}
array_walk($p_arr,'find',$p);
array_walk(get_data_arr($k),'find',$p);
array_walk(get_data_arr($k),'find',$p);
$ccode = get_data_arr($k);
echo file_get_contents("http://m.weather.com.cn/data/{$ccode[$k]}.html");
この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。