直接拿來用 九個超實用的PHP程式碼片段(二)

WBOY
發布: 2016-08-08 09:32:00
原創
1138 人瀏覽過

每位程式設計師和開發者都喜歡討論他們最愛的程式碼片段,尤其是當PHP開發者花費數個小時為網頁編碼或創建應用程式時,他們更知道這些程式碼的重要性。為了節省編碼時間,筆者收集了一些較實用的程式碼片段,幫助開發者提高工作效率。 >>>

  1) Whois query using PHP -利用PHP取得Whois請求 

  利用這段程式碼,在特定的網域裡可取得whois資訊。把網域名稱作為參數,並顯示所有網域的相關資訊。

?

910

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

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) {

    // fix the domain name:

    $domain = strtolower(trim($domain(trim(

$domain);     $domain = preg_replace('/^http:///i', ''     $domain

= preg_replace('/^www./i', ''     $domain = explode(

'/'

, ('/'$     $domain = trim($domain[0]);     

// split the TLD from domain name     $_domain = explode

('.'$do);     

$lst = count($_domain)-1;($_domain)-1;($_domain

)-1;     $ext = $_domain[$lst

];

[$lst];[$lst];     // You find resources and lists

    // like these on wikipedia:

    //

    // <a href="http://de.wikipedia.org/wiki/Whois">http://de.wikipedia.org/wiki/Whois</a>

    //

    $servers

=

array(         "biz"

=>

"whois.neulevel.biz",         "com"

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

,"whois.internic.net","whois.internic.net","whois.internic.net"

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

,

"whois.nic.us","whois.nic.us","whois.nic.us"

,

"whois.nic.us","whois.nic.us"         

"coop" => "whois.nic.coop","whois.nic.coop",

        

"info" => "whois.nic.info","whois.nic.info"

,🎜🎜"whois.nic.info"🎜🎜,🎜🎜"whois.nic.info"🎜🎜,🎜🎜"whois.nic.info"🎜🎜,🎜🎜"whois.nic.info"🎜🎜,🎜 🎜🎜        🎜🎜"name"🎜 🎜=> 🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜🎜"whois.nic.name"🎜🎜,🎜 🎜🎜        🎜🎜"net"🎜 🎜=> 🎜🎜"whois.internic.net"🎜🎜,🎜🎜"whois.internic.net"🎜🎜,🎜🎜"whois.internic.net"🎜🎜,🎜🎜"whois.internic.net"🎜🎜,🎜🎜"whois.internic.net"🎜🎜,🎜🎜"whois.internic.net"🎜🎜、🎜 🎜🎜        🎜🎜"gov"🎜 🎜=> 🎜🎜"whois.nic.gov"🎜🎜,🎜🎜"whois.nic.gov"🎜🎜,🎜🎜"whois.nic.gov"🎜🎜,🎜🎜"whois.nic.gov"🎜🎜,🎜🎜"whois.nic.gov"🎜🎜,🎜🎜"whois.nic.gov"🎜🎜,🎜

        「edu」 => 「whois.internic.net」,

「whois.internic.net」

,「whois.internic.net」,「whois.internic.net」,

「whois.internic.net」

,        「一百萬」=>

"rs.internic.net"

,"rs.internic.net","         

「int」

=> 「whois.iana.org」,「whois.iana.org」,

「whois.iana.org」

,「whois.iana.org」,「whois.iana.org」,

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

「whois.nic.ac」

「whois.nic.ac」         

「ae」

=> 「whois.uaenic.ae」,         

「在」

=> "whois.ripe.net","whois.ripe.net",

"whois.ripe.net"

,"whois.ripe.net","whois.ripe.net",

"whois.ripe.net"

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

,"whois.aunic.net","whois.aunic.net","whois.aunic.net"

,"whois.aunic.net","whois.aunic.net",

        

「是」=>「whois.dns.be」「whois.dns.be」

        「bg」=> 「whois.ripe.net」

,

「whois.ripe.net」,「whois.ripe.net」,「whois.ripe.net」

,

        「br」=> 「whois.registro.br」

        「bz」=> 「whois.belizenic.bz」

        「ca」=> 「whois.cira.ca」

「whois.cira.ca」         「副本」

=>

「whois.nic.cc」,「whois.nic.cc」,「whois.nic.cc」

,

「whois.nic.cc」,「whois.nic.cc」,

        

「ch」=> 「whois.nic.ch」,「whois.nic.ch」

,

「whois.nic.ch」,「whois.nic.ch」,「whois.nic.ch」

,

        「cl」=> 「whois.nic.cl」

,

「whois.nic.cl」,「whois.nic.cl」,「whois.nic.cl」

,

「whois.nic.cl」,        "cn"

=>

"whois.cnnic.net.cn",         「cz」

=> 「whois.nic.cz」,「whois.nic.cz」,「whois.nic.cz」

,「whois.nic.cz」,「whois.nic.cz」,

        「德」

=>「whois.nic.de」「whois.nic.de」         "fr"

🎜=> 🎜🎜「whois.nic.fr」🎜🎜,🎜🎜「whois.nic.fr」🎜🎜,🎜🎜 🎜🎜        🎜🎜「呼」🎜🎜=> 🎜🎜"whois.nic.hu"🎜🎜,🎜🎜"whois.nic.hu"🎜🎜,🎜🎜"whois.nic.hu"🎜🎜,🎜🎜"whois.nic.hu"🎜🎜,🎜🎜"whois.nic.hu"🎜🎜,🎜🎜"whois.nic.hu"🎜🎜,🎜🎜」 🎜🎜        🎜🎜「即」🎜🎜=> 🎜🎜「whois.domainregistry.ie」🎜🎜,🎜🎜 🎜🎜        🎜🎜「il」🎜🎜=> 🎜🎜「whois.isoc.org.il」🎜🎜,🎜🎜 🎜🎜        🎜🎜「在」🎜🎜=> 🎜🎜「whois.ncst.ernet.in」🎜🎜,🎜🎜 🎜🎜        🎜🎜「ir」🎜🎜=>🎜🎜「whois.nic.ir」🎜🎜,🎜🎜「whois.nic.ir」🎜🎜,🎜🎜 🎜🎜        🎜🎜「MC」🎜🎜=> 🎜🎜「whois.ripe.net」🎜🎜,🎜🎜「whois.ripe.net」🎜🎜,🎜🎜「whois.ripe.net」🎜🎜,🎜🎜「whois.ripe.net」🎜🎜,🎜🎜」 🎜🎜        🎜🎜「到」🎜 🎜=> 🎜🎜「whois.tonic.to」🎜🎜,🎜🎜「whois.tonic.to」🎜🎜,🎜🎜」 🎜🎜        🎜🎜「電視」🎜 🎜=> 🎜🎜「whois.tv」🎜🎜,🎜🎜 🎜🎜        🎜🎜「ru」🎜🎜=> 🎜🎜"whois.ripn.net"🎜🎜,🎜🎜"whois.ripn.net"🎜🎜,🎜🎜"whois.ripn.net"🎜🎜,🎜🎜"whois.ripn.net"🎜🎜,🎜🎜"whois.ripn.net"🎜🎜,🎜 🎜🎜        🎜🎜"組織"🎜 🎜=> 🎜🎜"whois.pir.org"🎜🎜,🎜🎜"whois.pir.org"🎜🎜,🎜🎜"whois.pir.org"🎜🎜,🎜🎜"whois.pir.org"🎜🎜,🎜🎜"whois.pir.org"🎜🎜,🎜🎜"whois.pir.org"🎜🎜、 🎜🎜        🎜🎜「航空」🎜 🎜=> 🎜🎜「whois.information.aero」🎜🎜,🎜🎜 🎜🎜        🎜🎜"nl"🎜 🎜=> 🎜🎜「whois.domain-registry.nl」🎜🎜 🎜🎜    🎜🎜);🎜🎜 🎜🎜    🎜🎜if🎜 🎜(!isset(🎜🎜$服務器🎜🎜[🎜🎜$ext🎜🎜])){🎜🎜

        '錯誤:找不到配對的網卡伺服器!');

    

}

    

$nic_server = $伺服器[$ext];     

$輸出

= '';     

//連接到whois伺服器:

    

if

($conn = fsockopen (         fputs($conn

, $doc.         while(!feof($conn             $輸出

.= fgets(         }         

fclose(

$conn);     }     

else

{die

'錯誤:無法連接到'     

回傳

$輸出;

} 2)使用 TextMagic API 與 PHP 進行簡訊發送 ——使用 TextMagic API 取得 PHP 測試資訊 :TextMagic引入強大的核心API,可輕鬆將簡訊傳送到手機。該API需要付費。

1

2 3 4 5

6

7

8
11

12

13

14

15

1617=

TextMagic PHP 函式庫

需要

(

'textmagic-sms-api-php/TextMagicAPI.php'

);

//設定使用者名稱和密碼資訊

$使用者名稱

=

'我的使用者名稱'

;

$密碼

'我的密碼'

;

//建立一個新的TM實例 $路由器=

TextMagicAPI(

數組

(     '使用者名稱'

=>

$使用者名稱,     

'密碼'

=>

$密碼

)); //發送簡訊至'999-123-4567' $結果

=

$路由器->發送('醒醒吧!', 數組🜎

// 結果:  結果為: Array ( [messages] => Array ( [19896128] => 9991234567 ) [sent_text] => 醒醒吧![parts_count] => 1 )

  3) Get info about your memory usage-取得記憶體使用率

  這段程式碼幫助你取得記憶體使用率。

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

echo "Initial: ".memory_get_usage()." bytes n";

" bytes n";

/* prints

Initial: 361400 bytes

*/

// let's use up some memory for ($i = 0; $i

$     $array []= md5($i);

}

// let's remove half of the array

for ($i = 0; $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

*/

  4) Display source code of any webpage-查看任意網頁原始碼   如果你想查看網頁原始碼,那麼只需更改第二行的URL,原始碼就會在網頁上顯示出。

?

1
2

3

4

5

// display source code $lines = file('http://google.com/'); foreach ($lines as $line_num => $line) {     

// loop thru each line and prepend line numbers     

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

n";

}

  5) Create data uri’s——建立資料uri

透過使用此程式碼,你可以建立資料Uri,這對在HTML/CSS中嵌入圖片非常有用,可協助節省HTTP請求。

?

}
1

2

3

4

5

function data_uri($file, $mime) {

  $contents=file_get_contents($file);

  $base64=base64_encode($contents);

$contents

);   echo

"data:$mime;base64,$base64";

🎜 🎜 🎜 🎜 🎜

  6) Detect location by IP-透過IP擷取出地理位置

  這段程式碼幫助你找到特定的IP,只要在功能參數上輸入IP,就可偵測出位置。

?

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 detect_city($ip) {

        $default = 'UNKNOWN';

'UNKNOWN';         if (!is_string( ) <code>$ip == '127.0.0.1' || $ip == 'localhost')   '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  $url = 'http://ipinfodb.com/ip_locator.php?ip=' . urlencode($ip);                 $curl_opt = array(             CURLOPT_FOLLOWLOCATION  => 1,             CURLOPT_HEADER      =>0,             CURLOPT_RETURNTRANSFER  => 1,             

CURLOPT_USERAGENT   => $curlopt_useragent,

$curlopt_useragent,,

            CURLOPT_URL       =>$url,,

            CURLOPT_TIMEOUT         => 1,             CURLOPT_REFERER         =>

'http:// .. TP_HOST'

],

        );         curl_setopt_array($ch,

$curl_opt

        

$content

= curl_exec($ch);         if

(!

is_null($curl_info($curl_info

))             $curl_info = curl_getinfo($ch););

        

}         curl_close($ch

);

        

if

( preg_match('{ City : ([^<code>

}i',

$content, $regs

) ) {

$city

=

); preg_match('{ State/Province : ([^   

}i', $content, $regs) ) { $state = $city !=” && $state!=” ){ $location = $city <. $location ; }else{ return $default; } }   7) Detect browser language-檢視瀏覽器語言   偵測瀏覽器所使用的程式碼腳本語言。 ?

1 2

3

4

5

67'en' ['HTTPS'
8

9

10

11

12

13

function

get_client_language(

$availableLanguages

,

$default

=

    

if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'['HTTP_ACCEPT_LANGUAGE'['HTTP_ACCEPT_LANGUAGE'

        $langs=explode(','Hp LANGUAGE']);

        foreach ($langs as $             $choice=substr(             

if(in_array($choice, $)                 return $choice

;

return $choice;re             }         

}

    }     return $default

;

}

  8) Check if server is HTTPS-偵測伺服器是否為HTTPS

?

1 2

3

4 5

if

(

$_SERVER
] !=

"on"

] !=

"on"

    echo{

"This is not HTTPS"

;

}

else

    echo "This is HTTPS"; }

  9) Generate CSV file from a PHP array-在PHP陣列中產生.csv 檔案

?

1

2

3

4

5

6

7

8

9

10

11

12

function generateCsv($data, $delimiter = ','',', '"') {    $handle

= fopen('php://temp', ('php://temp',    foreach

($data as $line) {            fputcsv

($handle, $enclosure);    }    rewind($handle

);    

while (!feof($handle)) {

$handle            $contents .= fread(

   

}    fclose($handle);

   

return $contents

;

}

  英文出自:Designzum 以上就介紹了直接拿來用 九個超實用的PHP程式碼片段(二),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!