ファイル全体を文字列に読み取る file_get_contents() 関数についての PHP マニュアルを見てみましょう。これは file() と同じです。違いは、file_get_contents() がファイルを文字列に読み取ることです。
file_get_contents() 関数は、ファイルの内容を文字列に読み取るための推奨される方法です
ヘルプマニュアルの上記の部分は、すべての内容を一度にメモリに読み込みます。これについては、次の例でも説明します。
_get_contents はリモート ファイルを文字列に読み取ることができます。 ファイルの行区切りは「rn」です
爆発は文字列を「rn」で区切ります
コードをコピー | |
$line_arr =explode("rn",$shadu_str); |
1|simaopig|2009-04-01|demo@simaopig.com
2|xiaoxiaozi|2009-04-02|demo@xiaoxiaozi.com
各フィールドを取得したい場合の操作は以下の通りです
コードをコピー | |||||
$line_arr =explode("rn",$shadu_str); $result = array(); if(空($line_arr)) { 戻り配列(); } foreach($line_arr as $line_str) { $record_arr =explode("|",$line_str); if($record_arr[0] == "-1") { // ログ 続けます; } $data = array(); $data['id'] = $record_arr[0]; $data['name'] = $record_arr[1]; $data['time'] = $record_arr[2]; $data['email'] = $record_arr[3]; $result[] = $data; } var_dump($result); |
コードは次のとおりです | コードをコピー |
//全国的には$REQUEST_URIにhtmlが含まれているかどうかが判定条件となります if (!strpos($_SERVER["REQUEST_URI"],".html")) { $page="http://qq.ip138.com/weather/"; $html = file_get_contents($page,'r'); $pattern="/全国の主要都市および郡における当日および今後 5 日間の天気傾向予測のオンライン クエリ(.*?) preg_match($pattern,$html,$pg); エコー「」 ; // 定期的にリモート アドレスをローカル アドレスに置き換えます $p=preg_replace('//weather/(w+)/index.htm/', 'tq.php/$1.html', $pg[1]); エコー $p } //都道府県、$REQUEST_URIが含まれるかどうかが判定条件? else if(!strpos($_SERVER["REQUEST_URI"],"?")){ //yoyo はデータを取得するためにセグメンテーションを使用することを推奨します。これは州名です $province=explode("/",$_SERVER["REQUEST_URI"]); $province=explode(".",$province[count($province)-1]); $province=$province[0] ; //コメントアウトしたのは自分で書いた正規表現です、書き方が悪い気もしますが、効果は上記と同じです 。 //preg_match('/[^/]+[.(html)]$/',$_SERVER["REQUEST_URI"],$pro); //$province=preg_replace('/.html/','',$pro[0]); $page="http://qq.ip138.com/weather/".$province."/index.htm"; //悪意のある入力アドレスによるエラーを防ぐために、HTML データを取得する前にページを開いてみてください if (!@fopen($page, "r")) { die("申し訳ありませんが、アドレスが存在しません!ここをクリックして戻る"); 終了(0); } $html = file_get_contents($page,'r'); $pattern="/5 日間の天気傾向予報(.*?)都市/市を入力してください preg_match($pattern,$html,$pg); エコー「」 ; //定期的な置換、都道府県、都市の取得 $p=preg_replace('//weather/(w+)/(w+).htm/', '$2.html?pro=$1', $pg[1]); エコー $p } 他 { //市、州を通過して取得 $pro=$_REQUEST['プロ'] $city=explode("/",$_SERVER["REQUEST_URI"]); $city=explode(".",$city[count($city)-1]); $city=$city[0] //preg_match('/[^/]+[.(html)]+[?]/',$_SERVER["REQUEST_URI"],$cit); //$city=preg_replace('/.html?/','',$cit[0]); $page="http://qq.ip138.com/weather/".$pro."/".$city.".htm"; if (!@fopen($page, "r")) { die("申し訳ありませんが、アドレスが存在しません!ここをクリックして戻る"); 終了(0); } $html = file_get_contents($page,'r'); $pattern="/5 日間の天気傾向予報(.*?)都市/市を入力してください preg_match($pattern,$html,$pg); エコー「」 ; //実際のイメージアドレスを取得します $p=preg_replace('//image//', 'http://qq.ip138.com/image/', $pg[1]); エコー $p } ?> http://www.bkjia.com/PHPjc/629097.html www.bkjia.com 本当 http://www.bkjia.com/PHPjc/629097.html 技術記事 ファイル全体を文字列に読み取る file_get_contents() 関数についての PHP マニュアルを見てみましょう。これは file() と同じです。違いは、file_get_contents() がファイルを文字列に読み取ることです。 ... |