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

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

WBOY
WBOYオリジナル
2016-07-25 08:42:071027ブラウズ

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

[PHP] コード

  1. 1. SMS を送信する
  2. TextMagic API を呼び出します。
  3. // TextMagic PHP lib をインクルードします
  4. require('textmagic-sms-api-php/TextMagicAPI.php');
  5. // ユーザー名とパスワード情報を設定します
  6. $username = 'myusername';
  7. $password = ' mypassword';
  8. // TM の新しいインスタンスを作成します
  9. $router = new TextMagicAPI(array(
  10. 'username' => $username,
  11. 'password' => $password
  12. ));
  13. // 送信'999-123-4567' へのテキスト メッセージ
  14. $result = $router->send('Wake up!', array(9991234567), true);
  15. // result: 結果は: Array ([messages] => 配列 ( [19896128] => 9991234567 ) [sent_text] => [parts_count] => 2. IP に基づいた查找地址
  16. function detect_city($ip) {
  17. $default = 'UNKNOWN';
  18. if (!is_string($ip) || strlen($ip) < 1 || $ip == '127.0 .0.1' || $ip == 'localhost')
  19. $ip = '8.8.8.8';
  20. $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)';
  21. $url = 'http://ipinfodb.com/ip_locator.php?ip=' 。 urlencode($ip);
  22. $ch =curl_init();
  23. $curl_opt = array(
  24. CURLOPT_FOLLOWLOCATION => 1,
  25. CURLOPT_HEADER => 0,
  26. CURLOPT_RETURNTRANSFER => 1,
  27. CURLOPT_USERAGENT => ; $curlopt_useragent、
  28. CURLOPT_URL => $url,
  29. CURLOPT_TIMEOUT => 'http://' . $_SERVER['HTTP_HOST'],
  30. );
  31. curl_setopt_array($ch, $curl_opt)
  32. $content =curl_exec($ch);
  33. if (!is_null($curl_info)) {
  34. $curl_info =curl_getinfo($ch);
  35. }
  36. curl_close($ch);
  37. if ( preg_match('{
  38. 都市: ([^<]*)
  39. }i', $content, $regs) ) {
  40. $city = $regs[1];
  41. }
  42. if ( preg_match('{
  43. 州/県 : ([^<]*)
  44. }i', $content, $regs) ) {
  45. $state = $regs[1];
  46. }
  47. if( $ city!='' && $state!='' ){
  48. $location = $city . 「、」。 $state;
  49. return$location;
  50. }else{
  51. return$default;
  52. }
  53. }
  54. 3. 表示ネットワーク页のソースコード
  55. $lines = file('http://google.com/');
  56. foreach ($lines as $line_num => $line) {
  57. // 各行をループし、行番号を先頭に追加します
  58. echo "Line #{$line_num} : " . htmlspecialchars($line) 。 "
    n";
  59. }
  60. 4. 检查服务器がHTTPSを使用しているかどうか
  61. if ($_SERVER['HTTPS'] != "on") {
  62. echo "これはHTTPSではありません";
  63. }else{
  64. echo "これはHTTPSです";
  65. }
  66. 5. 显示Faceboo**丝数量
  67. function fb_fan_count($facebook_name){
  68. // 例: https://graph.facebook.com/digimantra
  69. $data = json_decode(file_get_contents("https://graph.facebook.com/ ".$facebook_name));
  70. echo $data->likes;
  71. }
  72. 6. 检测写真の主要色
  73. $i = imagecreatefromjpeg("image.jpg");
  74. for ($x=0;$xfor ($y=0;$) y$rgb = imagecolorat($i,$x,$y);
  75. $r = ($rgb >> 16) & 0xFF;
  76. $g = ($ rgb >> & 0xFF;
  77. $b = $rgb & 0xFF;
  78. $rTotal += $r;
  79. $gTotal += $g;
  80. $bTotal += $b;
  81. $total++;
  82. }
  83. }
  84. $rAverage =round($rTotal/$total);
  85. $gAverage =round($gTotal/$total);
  86. $bAverage =round($bTotal/$total);
  87. 7. 获取内存使用情報
  88. echo"Initial: ".memory_get_usage()." bytes n";
  89. /* prints
  90. Initial: 361400 bytes
  91. */
  92. // http://www.baoluowanxiang.com/
  93. // メモリ
  94. を使い切ってみましょう($i = 0; $i $array []= md5($i);
  95. }
  96. // 配列の半分を削除しましょう
  97. for ($i = 0; $i unset($array[$i]);
  98. }
  99. echo"最終: ".memory_get_usage()." バイト n";
  100. /* 印刷
  101. 最終: 885912 バイト
  102. */
  103. echo"ピーク: ".memory_get_peak_usage()." バイト n";
  104. /* 印刷
  105. ピーク: 13687072 バイト
  106. */
  107. 8. gzcompress() を使用してデータを圧縮します
  108. $string =
  109. "痛み自体は本物であるはずです、
  110. 脂肪刺激エリートが続きます。これで、それが私の究極の
  111. 脂肪刺激です。機能はありません。Praesent pulvinar、
  112. sapien vel feugeat前庭、いいえ、デュイ・プライス・オルチ、
  113. ウルトリシーズ・ラクスではありません
  114. シット・アメト・アディピシング
  115. セド・ターピス・ルクタス
  116. を飾るために
  117. Nullam in neque metes hendrerit
  118. eu。 Malesuada lacus nulla Drinkum
  119. id euismod urna. ";
  120. $compressed = gzcompress($string);
  121. echo "元のサイズ: "。 strlen($string)."n";
  122. /* prints
  123. 元のサイズ: 800
  124. */
  125. echo "圧縮サイズ: "。 strlen($compressed)."n";
  126. /* 印刷
  127. 圧縮サイズ: 418
  128. */
  129. // 元に戻す
  130. $original = gzuncompress($compressed);
  131. 9. PHP を使用して Whois 免费
  132. function whois_query($domain) {
  133. // ドメイン名を修正します:
  134. $domain = strto lower(trim($domain));
  135. $domain = preg_replace('/^http:/// i', '', $domain);
  136. $domain = preg_replace('/^www./i', '', $domain);
  137. $domain =explode('/', $domain);
  138. $domain = trim($domain[0]);
  139. // ドメイン名から TLD を分割します
  140. $_domain =explode('.', $domain);
  141. $lst = count($_domain)-1;
  142. $ext = $ _domain[$lst];
  143. // ウィキペディアには次のようなリソースとリストがあります
  144. //:
  145. //
  146. // http://de.wikipedia.org/wiki/Whois
  147. //
  148. $servers = array (
  149. "biz" => "whois.neulevel.biz",
  150. "com" => "whois.internic.net",
  151. "us" => "whois.nic.us",
  152. "coop" => "whois.nic.coop" => "whois.nic.name" => ".internic.net",
  153. "gov" => .gov",
  154. "edu" => "whois.internic.net",
  155. "mil" => "rs.internic.net" ,
  156. "int" => "whois.iana.org",
  157. 「ac」=>「whois.uaenic.ae」=>「whois.ripe.net」=>「whois.aunic.net」=> ; "whois.ripe.net",
  158. "br" => "whois.registro.br",
  159. "bz" => "whois.belizenic.bz",
  160. "ca" => "whois.cira.ca",
  161. "cc" => "whois.nic.cc",
  162. "ch" => "whois.nic.ch",
  163. "cl" => "whois.nic.cl",
  164. "cn" => "whois.cnnic.net.cn",
  165. "cz" => "whois.nic.cz",
  166. "de" => "whois.nic.de",
  167. "fr" => "whois.nic.fr",
  168. "hu" => "whois.nic.hu",
  169. "ie" => "whois.domainregistry.ie",
  170. "il" => "whois.isoc.org.il",
  171. "in" => "whois.ncst.ernet.in",
  172. "ir" => "whois.nic.ir",
  173. "mc" => "whois.ripe.net",
  174. "to" => "whois.tonic.to",
  175. "tv" => 「whois.tv」、
  176. 「る」 => "whois.ripn.net",
  177. "org" => "whois.pir.org",
  178. "エアロ" => "whois.information.aero",
  179. "nl" => "whois.domain-registry.nl"
  180. );
  181. if (!isset($servers[$ext])){
  182. die('エラー: 一致する NIC サーバーが見つかりません!');
  183. }
  184. $nic_server = $servers[$ext];
  185. $output = '';
  186. // Whoisサーバーに接続します:
  187. if ($conn = fsockopen ($nic_server, 43)) {
  188. fputs($conn, $domain."rn ");
  189. while(!feof($conn)) {
  190. $output .= fgets($conn,128);
  191. }
  192. fclose($conn);
  193. }
  194. else { die('エラー: に接続できませんでした' . $nic_server '!'); }
  195. return $output;
  196. }
  197. 10. 電子メール送信PHP错误
  198. // カスタムエラーハンドラー
  199. 関数 nettuts_error_handler($number, $message, $file, $line, $vars){
  200. $email = "
  201. Anエラー ($number) が行

  202. $lineおよびファイル$file.
  203. で発生しました。

  204. $email .= "
    " 。 print_r($vars, 1) 。 "
    ";
  205. $headers = 'コンテンツタイプ: text/html; charset=iso-8859-1' 。 "rn";
  206. // エラーを誰かに電子メールで送信します...
  207. error_log($email, 1, 'you@youremail.com', $headers);
  208. // エラーへの対応方法を必ず決めてください(ユーザー側)
  209. // エラー メッセージをエコーするか、プロジェクト全体を強制終了します。あなた次第...
  210. // 以下のコードは、エラーがそれ以上の場合にのみ「死ぬ」ことを保証します
  211. // 単なる NOTICE.
  212. if ( ($number !== E_NOTICE) && ($number < 2048) ) ) {
  213. die("エラーが発生しました。後でもう一度お試しください。");
  214. }
  215. }
  216. // エラーを処理するにはカスタム関数を使用する必要があります。
  217. set_error_handler('nettuts_error_handler');
  218. //エラーをトリガーします... (var が存在しません)
  219. echo$somevarthatdoesnotexist;
复制代
php、PHP


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