ホームページ >バックエンド開発 >PHPチュートリアル >いくつかの非常に便利な PHP コード スニペットを共有します_PHP チュートリアル
TextMagic++ API を使用します。
// TextMagicPHP ライブラリをインクルードします
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 に基づく查找地址
関数 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 = 配列(
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('{
都市: ([^<]*)
}i'、$content、$regs) ) {
$city = $regs[1];
}
if ( preg_match('{
州/県 : ([^<]*)
}i'、$content、$regs) ) {
$state = $regs[1];
}
if( $city!='' && $state!=''){
$location = $city 。 ', ' .$state;
$location を返します;
}その他{
$default を返します;
}
}
3. 显示网页の资料番号
$lines = file('http://google.com/');
foreach ($lines as$line_num => $line) {
// 各行をループし、行番号を先頭に追加します
echo "行番号 {$line_num} : " 。 htmlspecialchars($line) 。 「
ん」;
}
4. 检查サーバーがHTTPSを使用しているかどうか
if ($_SERVER['HTTPS']!= "オン") {
echo "これは HTTPS ではありません";
}その他{
echo "これは HTTPS です";
}
5. 显示Facebook粉丝量
関数 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;
$r合計 += $r;
$g合計 += $g;
$b合計 += $b;
$total++;
}
}
$rAverage =round($rTotal/$total);
$gAverage =round($gTotal/$total);
$bAverage =round($bTotal/$total);
7. 获取内存使用情報
echo "Initial:".memory_get_usage()." bytes n";
/* プリント
初期値: 361400バイト
*/
// メモリを使い切ってみましょう
for ($i = 0; $i
$array []= md5($i);
}
// 配列の半分を削除しましょう
for ($i = 0; $i
unset($array[$i]);
}
echo "Final:".memory_get_usage()." bytes n";
/* プリント
最終: 885912 バイト
*/
echo "ピーク:".memory_get_peak_usage()." バイト n";
/* プリント
ピーク: 13687072 バイト
*/
8. gzcompress() を使用する
$string =
「Lorem ipsum dolor sit amet, consectetur
」
アディピシングエリート。 Nunc ut elit id mi ultrices
コーチング簡単なことは何もありません。枕ですよ
知恵か前庭か、価格に理由はありません
これまで湖の所有者になった人は誰もいません。どうもありがとうございます。
コーチングのプロセスに従うことが重要です。いくつか
価格ウラムコーパーの骨壷をターゲットにした人。はい、そしてマッサ
sed turpis Tempor luctus Curabitur sed nibh eu elit
ソフトな宿題それはまさに家であり、人生の結果です
今を飾りますその大きな子供たちの中で
アディピシングを置く地球でも私が恐れているのではなく、ラキニアです
宣伝するしかし、そうでなければ、柔らかく、柔らかく飾るには最適です
でも今。現時点でも宿題は柔らかいです
。
ヘンドリット・シュレシケリを恐れる必要はありません
サッカーのためではありません。予想通り、湖には飲める水はありません
あのeuismodの壺のメンバー。」;
$compressed = gzcompress($string);
「元のサイズ: 」をエコーします。 strlen($string)."n";
/* 印刷します
元のサイズ: 800
*/
「圧縮サイズ:」をエコーします。 strlen($compressed)."n";
/* 印刷します
圧縮サイズ: 418
*/
// 取り戻します
$original = gzuncompress($compressed);
9. PHP を使用する Whois 名生
関数 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",
「私たち」 => 「whois.nic.us」、
"coop" =>"whois.nic.coop",
"info" =>"whois.nic.info",
"name" =>"whois.nic.name",
"ネット" =>"whois.internal.net",
"gov" =>"whois.nic.gov",
"edu" =>"whois.internic.net",
"mil" =>"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」、
"ie" =>"whois.domainregistry.ie",
"il" =>"whois.isoc.org.il",
"in" =>"whois.ncst.ernet.in",
「行く」=> 「whois.nic.ir」、
"mc" =>"whois.ripe.net",
"to" =>"whois.tonic.to",
「テレビ」=> 「whois.tv」、
"ru" =>"whois.ripn.net",
"組織" => 「whois.pir.org」、
"エアロ" =>"whois.information.エアロ",
"nl" => 「whois.ドメインレジストリ.nl」
);
if (!isset($servers[$ext])){
die('エラー: 一致する 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.
$メッセージ
";
$email .= "
" .print_r($vars, 1) . "
";
$headers = 'コンテンツタイプ: text/html; charset=iso-8859-1' 。 「ん」;
// エラーを誰かにメールで送信します...
error_log($email, 1, 'you@youremail.com',$headers);
// エラーへの対応方法を (ユーザー側で) 必ず決定してください
// エラー メッセージをエコーするか、プロジェクト全体を強制終了します。あなた次第…
// 以下のコードは、エラーが
を超えた場合にのみ「死ぬ」ことを保証します。
// ただのお知らせです
if ( ($number !== E_NOTICE) && ($number
die("エラーが発生しました。後でもう一度お試しください。");
}
}
// エラーを処理するにはカスタム関数を使用する必要があります。
set_error_handler('nettuts_error_handler');
// エラーをトリガーします... (vardoes が存在しません)
echo$存在しないものもあります;
摘自战地日记_LAMP兄弟连