ホームページ  >  記事  >  バックエンド開発  >  非常に便利な 10 個の PHP コード スニペットを分離

非常に便利な 10 個の PHP コード スニペットを分離

WBOY
WBOYオリジナル
2016-06-13 13:15:12949ブラウズ

非常に便利な 10 個の PHP コード スニペット

1. SMS を送信する
TextMagic API を呼び出します。

// TextMagic PHP ライブラリをインクルードします
require('textmagic-sms-api-php/TextMagicAPI.php');

// ユーザー名とパスワードの情報を設定します
$username = 'myusername';
$password = 'mypassword';

// TM
の新しいインスタンスを作成します $router = new TextMagicAPI(array(
'ユーザー名' => $ユーザー名、
'パスワード' => $パスワード
));

// テキストメッセージを「999-123-4567」に送信します
$result = $router->send('ウェイクアップ!', array(9991234567), true);

// 結果: 結果は: Array ( [messages] => Array ( [19896128] => 9991234567 ) [sent_text] => 起きて! [parts_count] => 1 )


2. IP に基づく查找地址

function detect_city($ip) {

$default = '不明';

if (!is_string($ip) || strlen($ip) $ip = '8.8.8.8';

$curlopt_useragent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2) Gecko/20100115 Firefox/3.6 (.NET CLR 3.5.30729)';

$url = 'http://ipinfodb.com/ip_locator.php?ip=' 。 urlencode($ip);
$ch =curl_init();

$curl_opt = array(
CURLOPT_FOLLOWLOCATION => 1、
CURLOPT_HEADER => 0、
CURLOPT_RETURNTRANSFER => 1、
CURLOPT_USERAGENT => $curlopt_useragent,
CURLOPT_URL => $url、
CURLOPT_TIMEOUT => 1、
CURLOPT_REFERER => 'http://' 。 $_SERVER['HTTP_HOST'],
);

curl_setopt_array($ch, $curl_opt);

$content =curl_exec($ch);

if (!is_null($curl_info)) {
$curl_info =curl_getinfo($ch);
}

curl_close($ch);

if ( preg_match('{

  • City : ([^<]*)
  • }i', $content, $regs) ) {
    $city = $regs[1];
    }
    if ( preg_match('{
  • 州/県 : ([^<]*)
  • }i', $content, $regs) ) {
    $state = $regs[1];
    }

    if( $city!='' && $state!='' ){
    $location = $city 。 「、」。 $state;
    return$location;
    }その他{
    return$default;
    }

    }


    3. 显示网页的资料番号

    $lines = file('http://google.com/');
    foreach ($lines as $line_num => $line) {
    // 各行をループし、行番号を先頭に追加します
    echo "行番号{$line_num}: " 。 htmlspecialchars($line) 。 "
    n";
    }


    4. 检查サーバーがHTTPSを使用しているかどうか

    if ($_SERVER['HTTPS'] != "on") {
    echo "これは HTTPS ではありません";
    }その他{
    echo "これは HTTPS です";
    }


    5. 显示Faceboo**丝数

    関数 fb_fan_count($facebook_name){
    // 例: https://graph.facebook.com/digimantra
    $data = json_decode(file_get_contents("https://graph.facebook.com/".$facebook_name));
    echo $data->likes;
    }


    6. 检测写真の主要色

    $i = imagecreatefromjpeg("image.jpg");

    for ($x=0;$x for ($y=0;$y $rgb = imagecolorat($i,$x,$y);
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> & 0xFF;
    $b = $rgb & 0xFF;

    $rTotal += $r;
    $g合計 += $g;
    $b合計 += $b;
    $total++;
    }
    }

    $rAverage =round($rTotal/$total);
    $gAverage =round($gTotal/$total);
    $bAverage =round($bTotal/$total);


    7. 获取内存使用情報

    echo"初期値: ".memory_get_usage()." バイト n";
    /* プリント
    初期値: 361400 バイト
    */
    // http://www.baoluowanxiang.com/
    // メモリを使い切ってみましょう
    for ($i = 0; $i $array []= md5($i);
    }

    // 配列の半分を削除しましょう
    for ($i = 0; $i unset($array[$i]);
    }

    echo"最終: ".memory_get_usage()." バイト n";
    /* プリント
    最終: 885912 バイト
    */

    echo "ピーク: ".memory_get_peak_usage()." バイト n";
    /* プリント
    ピーク: 13687072 バイト
    */


    8. gzcompress() を使用してデータを圧縮します

    $string =
    「痛みの物語自体が重要であり、その後も続きます
    」 顧客サービスさあ、私のアルトリクスでやってみましょう
    コーチング簡単なことは何もありません。それは枕です、
    知恵か前庭か、病院に良い値段はありません。
    これまで湖の所有者になった人は誰もいません。誠にありがとうございます
    コーチングのプロセスに従うことが重要です。一部
    価格ウラムコーパーの骨壷をターゲットにした人。そしてミサも
    しかし、醜い喪の時。 Curabitur sed nibh eu elit
    ソフトな宿題それはまさに家であり、人生の結果です
    今を飾りますその大きな子供たちの中で
    アディピシングを置く地球しかし、私が恐れているのではなく、ラキニア
    宣伝するしかし、それがなければ、柔らかく、柔らかく飾ります
    しかし今は宿題にも間に合います
    。 彼はヘンドリット・シュレシッカーを恐れる必要はない
    サッカーのためではありません。予想通り、湖には飲める水はありません そのeuismodの壺のメンバー。 ";

    $compressed = gzcompress($string);

    「元のサイズ: 」をエコーし​​ます。 strlen($string)."n";
    /* プリント
    元のサイズ: 800
    */

    echo "圧縮サイズ: "。 strlen($compressed)."n";
    /* プリント
    圧縮サイズ: 418
    */

    // 取り戻します
    $original = gzuncompress($compressed);


    9. PHP を使用して Whois 名

    function whois_query($domain) {

    // ドメイン名を修正します:
    $domain = strto lower(trim($domain));
    $domain = preg_replace('/^http:///i', '', $domain);
    $domain = preg_replace('/^www./i', '', $domain);
    $domain =explode('/', $domain);
    $domain = トリム($domain[0]);

    // ドメイン名から TLD を分割します
    $_domain =explode('.', $domain);
    $lst = count($_domain)-1;
    $ext = $_domain[$lst];

    // リソースとリストが見つかります
    // ウィキペディアでは次のようになります:
    //
    // http://de.wikipedia.org/wiki/Whois
    //
    $servers = array(
    「ビジネス」=> "whois.neulevel.biz"、
    「com」=> "whois.internal.net"、
    「私たち」 => "whois.nic.us"、
    「コープ」=> "whois.nic.coop"、
    "情報" => "whois.nic.info"、
    「名前」=> "whois.nic.name"、
    「ネット」=> "whois.internal.net"、
    "政府" => "whois.nic.gov"、
    「食べる」=> "whois.internal.net"、
    「千」 => "rs.internic.net"、
    "int" => "whois.iana.org"、
    「そして」 => "whois.nic.ac"、
    "ae" => "whois.uaenic.ae"、
    「で」=> "whois.ripe.net"、
    「au」=> "whois.aunic.net"、
    「である」=> "whois.dns.be"、
    "bg" => "whois.ripe.net"、
    "br" => "whois.registro.br"、
    "bz" => "whois.belizenic.bz"、
    "ca" => "whois.cira.ca"、
    "cc" => "whois.nic.cc"、
    "ch" => "whois.nic.ch"、
    "cl" => "whois.nic.cl"、
    "cn" => "whois.cnnic.net.cn"、
    "cz" => "whois.nic.cz"、
    「の」 => "whois.nic.de"、
    "fr" => "whois.nic.fr"、
    「ふ」=> "whois.nic.hu"、
    「つまり」 => "whois.domainregistry.ie"、
    「彼」=> "whois.isoc.org.il"、
    「で」=> "whois.ncst.ernet.in"、
    「行く」=> "whois.nic.ir"、
    "mc" => "whois.ripe.net"、
    「へ」 => "whois.tonic.to",
    「テレビ」=> "whois.tv"、
    「る」=> "whois.ripn.net"、
    "組織" => "whois.pir.org"、
    「空気」=> "whois.information.aero",
    "nl" => 「whois.domain-registry.nl」
    );

    if (!isset($servers[$ext])){
    day('エラー: 一致する NIC サーバーが見つかりません!');
    }

    $nic_server = $servers[$ext];

    $output = '';

    // Whois サーバーに接続します:
    if ($conn = fsockopen ($nic_server, 43)) {
    fputs($conn, $domain."rn");
    while(!feof($conn)) {
    $output .= fgets($conn,128);
    }
    fclose($conn);
    }
    else { die('エラー: ' . $nic_server . '!'); に接続できませんでした。 }

    $output を返します
    }


    10.電子メール送信PHP错误


    // カスタム エラー ハンドラー
    function nettuts_error_handler($number, $message, $file, $line, $vars){
    $email = "


    でエラー ($number) が発生しました $line ファイル内: $file.

    $message

    ";

    $email .= "" 。 print_r($vars, 1) 。 "";

    $headers = 'コンテンツタイプ: text/html; charset=iso-8859-1' 。 "rn";

    // エラーを誰かに電子メールで送信します...
    error_log($email, 1, 'you@youremail.com', $headers);

    // エラーへの対応方法を (ユーザー側で) 必ず決定してください
    // エラー メッセージをエコーするか、プロジェクト全体を強制終了します。あなた次第...
    // 以下のコードは、エラーが
    を超えた場合にのみ「死ぬ」ことを保証します。 // ただのお知らせです。
    if ( ($number !== E_NOTICE) && ($number die("エラーが発生しました。後でもう一度お試しください。");
    }
    }

    // エラーを処理するにはカスタム関数を使用する必要があります。
    set_error_handler('nettuts_error_handler');

    // エラーをトリガーします... (var が存在しません)
    echo$存在しない一部のもの;

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