首頁 > 後端開發 > php教程 > 分享十個超有用的PHP程式碼

分享十個超有用的PHP程式碼

怪我咯
發布: 2023-03-07 10:46:01
原創
2992 人瀏覽過

1. 傳送簡訊

呼叫 TextMagic API。

// Include the TextMagic PHP lib  
require('textmagic-sms-api-php/TextMagicAPI.php');  
 
// Set the username and password information  
$username = 'myusername';  
$password = 'mypassword';  
 
// Create a new instance of TM  
$router = new TextMagicAPI(array(  
    'username' => $username,  
    'password' => $password 
));  
 
// Send a text message to '999-123-4567'  
$result = $router->send('Wake up!', array(9991234567), true);  
 
// result:  Result is: Array ( [messages] => Array ( [19896128] => 9991234567 ) [sent_text] => Wake up! [parts_count] => 1 )
登入後複製



#2. 根據IP尋找位址

##

function detect_city($ip) {  
 
        $default = 'UNKNOWN';  
 
        if (!is_string($ip) || strlen($ip) < 1 || $ip == &#39;127.0.0.1&#39; || $ip == &#39;localhost&#39;)  
            $ip = &#39;8.8.8.8&#39;;  
 
        $curlopt_useragent = &#39;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)&#39;;  
 
        $url = &#39;http://ipinfodb.com/ip_locator.php?ip=&#39; . 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         => &#39;http://&#39; . $_SERVER[&#39;HTTP_HOST&#39;],  
        );  
 
        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(&#39;{<li>City : ([^<]*)</li>}i&#39;, $content, $regs) )  {  
            $city = $regs[1];  
        }  
        if ( preg_match(&#39;{<li>State/Province : ([^<]*)</li>}i&#39;, $content, $regs) )  {  
            $state = $regs[1];  
        }  
 
        if( $city!=&#39;&#39; && $state!=&#39;&#39; ){  
          $location = $city . &#39;, &#39; . $state;  
          return $location;  
        }else{  
          return $default;  
        }  
 
    }
登入後複製

3. 顯示網頁的原始碼

<?php // display source code  
$lines = file(&#39;http://google.com/&#39;);  
foreach ($lines as $line_num => $line) {  
    // loop thru each line and prepend line numbers  
    echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";  
}
登入後複製

4. 檢查伺服器是否使用HTTPS##

if ($_SERVER[&#39;HTTPS&#39;] != "on") {  
    echo "This is not HTTPS";  
}else{  
    echo "This is HTTPS";  
}
登入後複製

#5. 顯示Facebook粉絲數

function fb_fan_count($facebook_name){  
    // Example: 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<imagesx($i);$x++) {  
    for ($y=0;$y<imagesy($i);$y++) {  
        $rgb = imagecolorat($i,$x,$y);  
        $r   = ($rgb >> 16) & 0xFF;  
        $g   = ($rgb >>  & 0xFF;  
        $b   = $rgb & 0xFF;  
 
        $rTotal += $r;  
        $gTotal += $g;  
        $bTotal += $b;  
        $total++;  
    }  
}  
 
$rAverage = round($rTotal/$total);  
$gAverage = round($gTotal/$total);  
$bAverage = round($bTotal/$total);
登入後複製



7. 取得記憶體使用資訊

echo "Initial: ".memory_get_usage()." bytes \n";  
/* prints  
Initial: 361400 bytes  
*/ 
 
// let&#39;s use up some memory  
for ($i = 0; $i < 100000; $i++) {  
    $array []= md5($i);  
}  
 
// let&#39;s remove half of the array  
for ($i = 0; $i < 100000; $i++) {  
    unset($array[$i]);  
}  
 
echo "Final: ".memory_get_usage()." bytes \n";  
/* prints  
Final: 885912 bytes  
*/ 
 
echo "Peak: ".memory_get_peak_usage()." bytes \n";  
/* prints  
Peak: 13687072 bytes  
*/
登入後複製



8. 使用gzcompress() 壓縮資料

$string =  
"Lorem ipsum dolor sit amet, consectetur  
adipiscing elit. Nunc ut elit id mi ultricies  
adipiscing. Nulla facilisi. Praesent pulvinar,  
sapien vel feugiat vestibulum, nulla dui pretium orci,  
non ultricies elit lacus quis ante. Lorem ipsum dolor  
sit amet, consectetur adipiscing elit. Aliquam  
pretium ullamcorper urna quis iaculis. Etiam ac massa  
sed turpis tempor luctus. Curabitur sed nibh eu elit  
mollis congue. Praesent ipsum diam, consectetur vitae  
ornare a, aliquam a nunc. In id magna pellentesque  
tellus posuere adipiscing. Sed non mi metus, at lacinia  
augue. Sed magna nisi, ornare in mollis in, mollis  
sed nunc. Etiam at justo in leo congue mollis.  
Nullam in neque eget metus hendrerit scelerisque  
eu non enim. Ut malesuada lacus eu nulla bibendum  
id euismod urna sodales. ";  
 
$compressed = gzcompress($string);  
 
echo "Original size: ". strlen($string)."\n";  
/* prints  
Original size: 800  
*/  
 
echo "Compressed size: ". strlen($compressed)."\n";  
/* prints  
Compressed size: 418  
*/  
 
// getting it back  
$original = gzuncompress($compressed);
登入後複製



9. 使用PHP做Whois檢查

function whois_query($domain) {  
 
    // fix the domain name:  
    $domain = strtolower(trim($domain));  
    $domain = preg_replace(&#39;/^http:\/\//i&#39;, &#39;&#39;, $domain);  
    $domain = preg_replace(&#39;/^www\./i&#39;, &#39;&#39;, $domain);  
    $domain = explode(&#39;/&#39;, $domain);  
    $domain = trim($domain[0]);  
 
    // split the TLD from domain name  
    $_domain = explode(&#39;.&#39;, $domain);  
    $lst = count($_domain)-1;  
    $ext = $_domain[$lst];  
 
    // You find resources and lists  
    // like these on wikipedia:  
    //  
    // 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" => "whois.nic.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",  
        "aero" => "whois.information.aero",  
        "nl" => "whois.domain-registry.nl"  
    );  
 
    if (!isset($servers[$ext])){  
        die(&#39;Error: No matching nic server found!&#39;);  
    }  
 
    $nic_server = $servers[$ext];  
 
    $output = &#39;&#39;;  
 
    // connect to whois server:  
    if ($conn = fsockopen ($nic_server, 43)) {  
        fputs($conn, $domain."\r\n");  
        while(!feof($conn)) {  
            $output .= fgets($conn,128);  
        }  
        fclose($conn);  
    }  
    else { die(&#39;Error: Could not connect to &#39; . $nic_server . &#39;!&#39;); }  
 
    return $output;  
}
登入後複製

#10. 透過Email發送PHP錯誤

<?php  
 
// Our custom error handler  
function nettuts_error_handler($number, $message, $file, $line, $vars){  
    $email = "  
        <p>An error ($number) occurred on line  
        <strong>$line</strong> and in the <strong>file: $file.</strong>  
        <p> $message </p>";  
 
    $email .= "<pre class="brush:php;toolbar:false">" . print_r($vars, 1) . "
"; $headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; // Email the error to someone... error_log($email, 1, [email protected]', $headers); // Make sure that you decide how to respond to errors (on the user's side) // Either echo an error message, or kill the entire project. Up to you... // The code below ensures that we only "die" if the error was more than // just a NOTICE. if ( ($number !== E_NOTICE) && ($number < 2048) ) { die("There was an error. Please try again later."); } } // We should use our custom function to handle errors. set_error_handler('nettuts_error_handler'); // Trigger an error... (var doesn't exist) echo $somevarthatdoesnotexist;
登入後複製

以上是分享十個超有用的PHP程式碼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板