ホームページ > バックエンド開発 > PHPチュートリアル > 非常に実用的な PHP コード スニペットの推奨事項

非常に実用的な PHP コード スニペットの推奨事項

WBOY
リリース: 2016-06-23 13:38:05
オリジナル
1042 人が閲覧しました

PHP で開発する場合、非常に便利なメソッドやコード スニペットをいくつか集めておくと、開発作業に大きな利便性をもたらします。今日は、とても使いやすい PHP コード スニペットを 10 個紹介します。気に入っていただければ幸いです。

1. textmagic API を使用してメッセージを送信する

場合によっては、顧客にテキスト メッセージを送信する必要がある場合は、textMagic を検討してください。この機能を実装するための非常にシンプルな API が提供されます。しかし、無料ではありません。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

// TextMagic PHP lib をインクルードします

require ( 'textmagic-sms-api-php/TextMagicAPI.php' );

// ユーザー名とパスワード情報を設定します

$username = ' myusername' ;

$password = 'mypassword' ;

// TM の新しいインスタンスを作成します

$router = new TextMagicAPI( array (

) 'username' => $username ,

' pass word' => $password

));

// '999-123-4567' にテキストメッセージを送信します

$result = $router ->send( 'Wake up!' , array ( 9991234567) , true);

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

2. IP によってソースを特定する

これは、IP によって訪問者のソースを特定するのに役立つ非常に実用的なコード スニペットです。次のメソッドはパラメータを受け取り、IP の場所を返します。見つからない場合は UNKNOWN が返されます。

1

2

3

4

5

6

7

8

9

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

35

36

37

38

39

40

41

42

43

44

45

46

47

function detect_city( $ ip) {

$default = '不明' ;

if (! is_string ( $ip ) || strlen ( $ip ) < 1 || $ip == '127.0.0.1' || $ip == 'localhost' )

$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 =&gt; 1、

curlopt_header =&gt;

curlopt_returntransfer =&gt; URL 、

CURLOPT_TIMEOUT => 1,

=> $_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 = $登録[1];

    }

    if ( $city != '' && $state != '' ){

    $location = $city 。 「、」。 $state ;

    $location を返す ;

    } else {

    ウェブページのソースコード。これは簡単なコード スニペットです。2 行目の URL を変更するだけです。

    1

    2

    3 4

    5

    6

    $lines = file( 「 http://google.com/ 」) ;

    foreach ( $lines as $line_num => $line ) {

    // 各行をループし、行番号を先頭に追加します

    echo "Line #{$line_num} : " . htmlspecialchars( $line ) . "
    n" ;

    4. サーバーが HTTPS 接続であるかどうかを確認する

    コード実行環境が HTTPS サーバーであるかどうかを確認する必要がありますか?以下のコードはこれを実現するのに役立ちます。非常に簡単です。

    1

    2

    3

    4

    5

    if ( $_SERVER [ 'HTTPS' ] != "on" ) {

    echo "これはHTTPS ではありません" ;

    } else {

    echo "This is HTTPS" ;

    }

    5. テキスト内に Facebook のファンの数を表示します

    Facebook に何人のファンがいるかを確認したいですか?以下のコードはこれを実現するのに役立ちます。

    1

    2

    3

    4

    5

    function fb_fan_count( $facebook_name ){

    . com/digimantra

    $data = json_decode ( file_get_contents ( " https://graph.facebook .com/" . $facebook_name ));

    echo $data ->likes;

    }

    6. 画像のメインカラーを決定する

    以下のコードは非常に実用的で、決定するのに役立ちます。画像の主要な色を分析できます。

    1

    2

    3

    4

    5 6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

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

    for ( $x =0; $x

    for ( $y =0; $y

    $rgb = imagecolorat( $i , $x , $y );

    $r = ( $ RGB >> 16) & 0xFF;$ gtotal +$ g;このコード スニペットは、サーバーの RAM 使用量を理解し、初期、最終、およびピーク使用量を出力するのに役立ちます

    1

    2

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15 16

    17

    18

    19

    20

    21

    22

    23

    24

    echo "初期値: " .memory_get_usage(). " bytes n" ;

    /* 初期値: 361400 バイト

    */

    // メモリを使い切ってみましょう

    for ( $i = 0; $i

    $array []= md5( $i )

    }

    // 配列

    の半分を削除しましょう( $i = 0; $i

    unset( $array [ $i ]);

    }

    echo "最終: " .memory_get_usage() " バイト n。 " ;

    /* プリント

    最終: 885912 バイト

    */

    echo "ピーク: " .memory_get_peak_usage(). " バイト n" ;

    /* プリント

    ピーク: 13687072 バイト

    * /

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

    長い文字列の場合、文字列は gzcompress() メソッドを通じて圧縮できます。解凍するには、gzuncompress()を使用します。コードは以下のように表示されます。

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16 17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28 29

    30

    31

    32

    $string =

    そのままにしておきます、

    adipiscing エリート さて、そのエリート

    adipiscing です。

    ヴェル・フュジアット前庭、

    無痛イプサム痛み

    シットアメット、アディピシングエリート

    プレティウム・ウラムコーパー

    セド・ターピスラクタス

    モリス・クーグ。しかし、私が恐れているのではなく、ラキニア

    が宣伝しているのです。しかし、そうでなければ、柔らかく、柔らかく

    で飾りましょう。しかし今は。また、宿題の時間にも間に合います。

    ヘンドリット・シュレシケリ

    を恐れる必要はありません、それは彼にとってはそうではないからです。予想通り、飲むためのオイスモド湖はありません、オイスモドの壺のメンバーたち。 ";

    $compressed = gzcompress( $string );

    echo "元のサイズ: " . strlen ( $string ). "n" ;

    /*

    を印刷します 元のサイズ: 800

    * /

    echo "圧縮サイズ: " . strlen ( $compressed )

    /* 印刷

    */

    // 取得

    $original = gzuncompress( $compressed ); 9.

    2

    3

    4

    5

    7

    8

    9

    10

    12

    13

    14

    15

    16

    17

    18 19 20 21 22 23 24 25 26 28

    29

    30

    31

    32

    33

    MX 34 35

    36

    37 38 39 39 40 41 42 43

    45

    46

    47

    48

    49

    50

    51

    52

    53

    54

    55

    56

    57

    58

    59

    60

    61

    62

    63

    64

    65

    66

    67

    68

    69

    70

    71

    72

    73

    74

    75

    76

    77

    78

    79

    80

    81

    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 (

    "biz" => "whois.neulevel.biz" ,

    "com" => "whois.internic.net" ,

    "us" => "whois.nic.us" ,

    "coop" => "whois.nic.coop" 、

    "info" => "whois.nic.info" 、

    "name" =>

    "net" => "whois.internic.net" 、

    "gov" => "whois.nic.gov" 、

    "edu" => "whois.internic.net" 、

    "mil " => "rs.internic.net" ,

    "int" => "whois.iana.org" ,

    "ac" => 「whois.nic.ac」、

    「ae」 => "whois.uaenic.ae" 、

    "at" => 「whois.ripe.net」 、

    「au」 => "whois.aunic.net" 、

    "be" => "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" ,

    "de" => "whois.nic.de" 、

    "fr" => "whois.nic.fr" 、

    "hu" => "whois.nic.hu" ,

    "ie" => "whois.domainregistry.ie" ,

    "il" => "whois.isoc.org.il" ,

    "in" => "whois.ncst.ernet.in" 、

    "ir" => "whois.nic.ir" 、

    "mc" => "whois.ripe.net" 、

    "to" => "whois.tonic.to" 、

    "tv" => "whois.tv" ,

    "ru" => "whois.ripn.net" 、

    "org" => 「whois.pir.org」 、

    「エアロ」 => "whois.information.aero" ,

    "nl" => 「whois.domain-registry.nl」

    );

    if (!isset( $servers [ $ext ])){

    die ( 'エラー: 一致する NIC サーバーが見つかりません!' );

    }

    $nic_server = $servers [ $ext ];

    $output = '' ;

    // Whois サーバーに接続します:

    if ( $conn = fsockopen ( $nic_server , 43)) {

    fputs ( $conn , $domain . "rn" );

    ...

    }

    else { die ( 'エラー: '. $ nic_server.' に接続できませんでした!! ');}

    Return $ OUTPUT;

    10. PHP エラー、エラー情報を電子メールで取得することもできます。以下のコードはこれを実現するのに役立ちます。

    1

    2

    3 4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    // カスタム エラー ハンドラー

    function nettuts_error_handler( $number , $message , $file , $line , $vars ){

    $email = "

    " line

    ファイル内: $file . $email .= ""

    $headers = 'Content-type: text/html; charset=iso-8859-1 ' ;

    // エラーを誰かにメールで送信...

    error_log ( $email , 1 、 'you@youremail.com、$ headers);エラー(ユーザーの側)に応答する方法を決定するか、プロジェクト全体をエコーし​​ます。 ..

    // 以下のコードは、エラーが

    // 単なる通知である場合にのみ「終了」することを保証します。 if ( ( $number !== E_NOTICE) && ( $number < 2048) ) {

    die ( "エラーが発生しました。後でもう一度お試しください。" );

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

    set_error_handler( 'nettuts_error_handler' );

    // エラーをトリガーします... (var が存在しません)

    echo $somevarthatdoesnoexist ;

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