ホームページ > php教程 > php手册 > 共有するための 7 つの非常に実用的な PHP コード スニペット

共有するための 7 つの非常に実用的な PHP コード スニペット

WBOY
リリース: 2016-06-21 08:52:22
オリジナル
1089 人が閲覧しました

1. 超シンプルなページキャッシュ

プロジェクトが CMS システムまたはフレームワークに基づいていない場合は、単純なキャッシュ システムを構築することが非常に実用的です。以下のコードは非常に単純ですが、実際には小規模な Web サイトの問題を解決できます。

// キャッシュされたファイルのパスと名前を定義します
$cachefile = 'cached-files/'.date('M-d-Y').'.php'; // ファイルを保存する時間を秒単位で定義します。ここでは 5 時間に設定します。 $キャッシュタイム = 18000
// キャッシュされたファイルがまだ新しいかどうかを確認し、新しい場合は、それを提供して終了します。 If (file_exists($cachefile) && time() - $cachetime < filemtime($cachefile)) {
インクルード($キャッシュファイル)
終了
}
// ファイルがないか、ファイルが古すぎる場合は、ページをレンダリングして HTML をキャプチャします。 Ob_start(); ?>

すべての HTML をここに出力します。

// キャッシュされたコンテンツをファイルに保存します
$fp = fopen($cachefile, 'w'); fwrite($fp, ob_get_contents()); fclose($fp);
// 最後にブラウザ出力を送信します
Ob_end_flush(); ?>




詳細を表示するにはここをクリックしてください: http://wesbos.com/simple-php-page-caching-technique/


2. PHPで距離を計算する

緯度と経度を用いてA地点からB地点までの距離を計算する、非常に便利な距離計算機能です。この関数は、マイル、キロメートル、海里の 3 つの単位タイプで距離を返すことができます。

関数 distance($lat1, $lon1, $lat2, $lon2, $unit) {

$theta = $lon1 - $lon2 $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta)); > $dist = acos($dist); $dist = rad2deg($dist); $マイル = $dist * 60 * 1.1515; $unit = strtoupper($unit);

if ($unit == "K") {

戻り値 ($マイル * 1.609344)

} else if ($unit == "N") {

戻り値 ($マイル * 0.8684); } else { $マイルを返します
}





使用方法: エコー距離(32.9697, -96.80322, 29.46786, -98.53506, "k")." キロメートル";




3. 秒を時間に変換します (年、月、日、時...)


秒単位で表現されたイベントを年、月、日、時などの時間形式に変換できる便利な機能です。

関数 Sec2Time($time){
  if(is_numeric($time)){
    $value = array(
      「年」 => 0, "日" => 0, "時間" => 0、
      「分」 => 0, "秒" => 0、
    ); 
    if($time >= 31556926){
      $value["年"] = フロア($time/31556926); 
      $time = ($time%31556926); 
    }
    if($time >= 86400){
      $value["days"] = フロア($time/86400); 
      $time = ($time%86400); 
    }
    if($time >= 3600){
      $value["時間"] = フロア($time/3600); 
      $time = ($time%3600); 
    }
    if($time >= 60){
      $value["分"] = フロア($time/60); 
      $time = ($time%60); 
    }
    $value["秒"] = フロア($time); 
    (配列) $value を返します。 
  }その他{
    (ブール値) FALSE を返します。 
  }

 

4、强制下載文件

  mp3 タイプなどの一部のファイルは、通常、クライアント端末で直接配布または使用されます。

関数 downloadFile($file){     $ファイル名 = $ファイル; 
    $mime = 'アプリケーション/強制ダウンロード'; 
    header('プラグマ: public');     // 必須
    header('有効期限: 0');        // キャッシュなし
    header('キャッシュ制御: 必須再検証、事後チェック = 0、事前チェック = 0'); 
    header('キャッシュコントロール: プライベート',false); 
    header('Content-Type: '.$mime); 
    header('Content-Disposition:attachment; filename="'.basename($file_name).'"'); 
    header('コンテンツ転送エンコーディング: バイナリ'); 
    header('接続: 閉じる'); 
    読み取りファイル($ファイル名);        // 押し出す
    出口(); 

 

5、Google APIを使用获取当前天气信息

  今日の天気を知っていますか? この段階のコード会議を報告するには、3 行のコードが必要なだけです。その中のアドレスを期待する城市に変更するだけです。

$xml = simplexml_load_file('http://www.google.com/ig/api?weather=ADDRESS');    $information = $xml->xpath("/xml_api_reply/weather/current_conditions/condition"); 
  echo $information[0]->attributes();

 

6、获得某地址の经纬度

  Google Maps API の普及に伴い、開発者は特定の場所の度数と度数を取得する必要が生じることがよくあります。この非常に便利な関数は、パラメータとして機能し、度度および度度のデータを含む数値を返します。

関数 getLatLong($address){
If (!is_string($address))die("すべてのアドレスは文字列として渡す必要があります"); $_url = sprintf('http://maps.google.com/maps?output=js&q=%s',rawurlencode($address)); $_result = false; If($_result = file_get_contents($_url)) {
If(strpos($_result,'errortips') > 1 strpos($_result,'もしかして:') !== false) false を返します。 Preg_match('!center:s*{lat:s*(-?d+.d+),lng:s*(-?d+.d+)}!U', $_result, $_match); $_coords['lat'] = $_match[1]
$_coords['long'] = $_match[2]
; }
$_coords を返します





7. PHPとGoogleを使用して、ドメイン名

のfaviconアイコンを取得します。

一部の Web サイトまたは Web アプリケーションでは、他の Web サイトのファビコン アイコンを使用する必要があります。 Google と PHP を使用すると簡単に実行できますが、Google が接続をリセットしないことが前提となります。

関数 get_favicon($url){

$url = str_replace("http://",'',$url

); return "http://www.google.com/s2/favicons?domain=".$url




関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート