cari
Rumahpembangunan bahagian belakangtutorial php19个超实用的PHP代码片段_PHP教程

19个超实用的PHP代码片段_PHP教程

Jul 13, 2016 am 10:35 AM
phpkoddansukapemajukebanyakannyaserpihanpraktikalpengaturcaraberbincang

 每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当PHP开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重要性。为了节约编码时间,小编收集了一些较为实用的代码片段,帮助开发者提高工作效率

1) Whois query using PHP ——利用PHP获取Whois请求    利用这段代码,在特定的域名里可获得whois信息。把域名名称作为参数,并显示所有域名的相关信息。    代码如下:function whois_query($domain) {         // fix the domain name:       $domain = strtolower(trim($domain));       $domain = preg_replace('/^http:\/\//i', '', $domain);       $domain = preg_replace('/^www\./i', '', $domain);       $domain = explode('/', $domain);       $domain = trim($domain[0]);         // split the TLD from domain name       $_domain = explode('.', $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('Error: No matching nic server found!');       }         $nic_server = $servers[$ext];         $output = '';         // 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('Error: Could not connect to ' . $nic_server . '!'); }         return $output;   }   2) Text messaging with PHP using the TextMagic API ——使用TextMagic API 获取PHP Test信息   TextMagic引入强大的核心API,可轻松将SMS发送到手机。该API是需要付费。     代码如下: 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 )   3) Get info about your memory usage——获取内存使用率   这段代码帮助你获取内存使用率。    代码如下: echo "Initial: ".memory_get_usage()." bytes \n";   /* prints  Initial: 361400 bytes  */     // let's use up some memory   for ($i = 0; $i $line) {        // loop thru each line and prepend line numbers       echo "Line #{$line_num} : " . htmlspecialchars($line) . "   \n";   }   5) Create data uri's——创建数据uri   通过使用此代码,你可以创建数据Uri,这对在HTML/CSS中嵌入图片非常有用,可帮助节省HTTP请求。   代码如下: function data_uri($file, $mime) {     $contents=file_get_contents($file);     $base64=base64_encode($contents);     echo "data:$mime;base64,$base64";   }  6) Detect location by IP——通过IP检索出地理位置   这段代码帮助你查找特定的IP,只需在功能参数上输入IP,就可检测出位置。    代码如下: function detect_city($ip) {             $default = 'UNKNOWN';             if (!is_string($ip) || strlen($ip) 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('{   City : ([^ 40.770623, 'long' => -73.964367);   $point2 = array('lat' => 40.758224, 'long' => -73.917404);   $distance = getDistanceBetweenPointsNew($point1['lat'], $point1['long'], $point2['lat'], $point2['long']);   foreach ($distance as $unit => $value) {       echo $unit.': '.number_format($value,4).'   ';   }    The example returns the following:   代码如下:miles: 2.6025   feet: 13,741.4350   yards: 4,580.4783   kilometers: 4.1884   meters: 4,188.3894   11.完善cURL功能    代码如下:function xcurl($url,$ref=null,$post=array(),$ua="Mozilla/5.0 (X11; Linux x86_64; rv:2.2a1pre) Gecko/20110324 Firefox/4.2a1pre",$print=false) {       $ch = curl_init();       curl_setopt($ch, CURLOPT_AUTOREFERER, true);       if(!empty($ref)) {           curl_setopt($ch, CURLOPT_REFERER, $ref);       }       curl_setopt($ch, CURLOPT_URL, $url);       curl_setopt($ch, CURLOPT_HEADER, 0);       curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);       curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);       if(!empty($ua)) {           curl_setopt($ch, CURLOPT_USERAGENT, $ua);       }       if(count($post) > 0){           curl_setopt($ch, CURLOPT_POST, 1);           curl_setopt($ch, CURLOPT_POSTFIELDS, $post);           }       $output = curl_exec($ch);       curl_close($ch);       if($print) {           print($output);       } else {           return $output;       }   } 12.清理用户输入  代码如下:]*?>.*?@si',   // Strip out javascript     '@]*?>@si',            // Strip out HTML tags     '@@siU',    // Strip style tags properly     '@@'         // Strip multi-line comments   );       $output = preg_replace($search, '', $input);     return $output;   } ?> $val) {             $output[$var] = sanitize($val);         }     }     else {         if (get_magic_quotes_gpc()) {             $input = stripslashes($input);         }         $input  = cleanInput($input);         $output = mysql_real_escape_string($input);     }     return $output; } ?> 13.通过IP(城市、国家)检测地理位置 代码如下:function detect_city($ip) {             $default = 'Hollywood, CA';             if (!is_string($ip) || strlen($ip) 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('{            City : ([^ 100){          $strength = 100;      }      return $strength;  }    var_dump(password_strength("Correct Horse Battery Staple"));  echo "
";  var_dump(password_strength("Super Monkey Ball"));  echo "
";  var_dump(password_strength("Tr0ub4dor&3"));  echo "
";  var_dump(password_strength("abc123"));  echo "
";  var_dump(password_strength("sweet"));   15.检测浏览器语言,只提供可用的$availableLanguages作为数组(‘en', ‘de', ‘es') 代码如下:function get_client_language($availableLanguages, $default='en'){         if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {             $langs=explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']);             //start going through each one           foreach ($langs as $value){                 $choice=substr($value,0,2);               if(in_array($choice, $availableLanguages)){                   return $choice;                 }             }       }        return $default;   }    16.创建数据URL   代码如下:function data_uri($file, $mime) {     $contents=file_get_contents($file);     $base64=base64_encode($contents);     echo "data:$mime;base64,$base64";   }  17.创建更加友好的页面标题SEO URL   输入示例:$title = “This foo's bar is rockin' cool!”; echo makeseoname($title); //RETURNS: //this-foos-bar-is-rockin-cool    代码如下:function make_seo_name($title) {       return preg_replace('/[^a-z0-9_-]/i', '', strtolower(str_replace(' ', '-', trim($title))));   } 18.终极加密功能  代码如下:// f(ucking) u(ncrackable) e(ncryption) function by BlackHatDBL (www.netforme.net)   function fue($hash,$times) {       // Execute the encryption(s) as many times as the user wants       for($i=$times;$i>0;$i--) {           // Encode with base64...           $hash=base64_encode($hash);           // and md5...           $hash=md5($hash);           // sha1...           $hash=sha1($hash);           // sha256... (one more)           $hash=hash("sha256", $hash);           // sha512           $hash=hash("sha512", $hash);         }       // Finaly, when done, return the value       return $hash;   }  19a.Tweeter Feed Runner——使用任意twitter名,可在任意页面上加载用户资源。  代码如下:       public function loadTimeline($user, $max = 20){            $this->twitURL .= 'statuses/user_timeline.xml?screen_name='.$user.'&count='.$max;            $ch        = curl_init();            curl_setopt($ch, CURLOPT_URL, $this->twitURL);            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);            $this->xml = curl_exec($ch);            return $this;        }        public function getTweets(){            $this->twitterArr = $this->getTimelineArray();            $tweets = array();            foreach($this->twitterArr->status as $status){                $tweets[$status->created_at->__toString()] = $status->text->__toString();            }            return $tweets;        }        public function getTimelineArray(){            return simplexml_load_string($this->xml);        }        public function formatTweet($tweet){            $tweet = preg_replace("/(http(.+?))( |$)/","$1$3", $tweet);            $tweet = preg_replace("/#(.+?)(\h|\W|$)/", "#$1$2", $tweet);            $tweet = preg_replace("/@(.+?)(\h|\W|$)/", "@$1$2", $tweet);            return $tweet;        }      19b. Tweeter Feed Runner——用于在主题中创建文件,比如:example.php 代码如下: loadTimeline("phpsnips")->getTweets();    foreach($feed as $time => $message){        echo "
".$twitter->formatTweet($message)."
At: ".$time."
";    }    

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/741819.htmlTechArticle每位程序员和开发者都喜欢讨论他们最爱的代码片段,尤其是当PHP开发者花费数个小时为网页编码或创建应用时,他们更知道这些代码的重...
Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Di luar gembar -gembur: Menilai peranan PHP hari iniDi luar gembar -gembur: Menilai peranan PHP hari iniApr 12, 2025 am 12:17 AM

PHP kekal sebagai alat yang kuat dan digunakan secara meluas dalam pengaturcaraan moden, terutamanya dalam bidang pembangunan web. 1) PHP mudah digunakan dan diintegrasikan dengan lancar dengan pangkalan data, dan merupakan pilihan pertama bagi banyak pemaju. 2) Ia menyokong penjanaan kandungan dinamik dan pengaturcaraan berorientasikan objek, sesuai untuk membuat dan mengekalkan laman web dengan cepat. 3) Prestasi PHP dapat ditingkatkan dengan caching dan mengoptimumkan pertanyaan pangkalan data, dan komuniti yang luas dan ekosistem yang kaya menjadikannya masih penting dalam timbunan teknologi hari ini.

Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apakah rujukan yang lemah dalam PHP dan bilakah mereka berguna?Apr 12, 2025 am 12:13 AM

Dalam PHP, rujukan lemah dilaksanakan melalui kelas lemah dan tidak akan menghalang pemungut sampah daripada menebus objek. Rujukan lemah sesuai untuk senario seperti sistem caching dan pendengar acara. Harus diingat bahawa ia tidak dapat menjamin kelangsungan hidup objek dan pengumpulan sampah mungkin ditangguhkan.

Terangkan kaedah sihir __invoke dalam PHP.Terangkan kaedah sihir __invoke dalam PHP.Apr 12, 2025 am 12:07 AM

Kaedah \ _ \ _ membolehkan objek dipanggil seperti fungsi. 1. Tentukan kaedah \ _ \ _ supaya objek boleh dipanggil. 2. Apabila menggunakan sintaks $ OBJ (...), PHP akan melaksanakan kaedah \ _ \ _ invoke. 3. Sesuai untuk senario seperti pembalakan dan kalkulator, meningkatkan fleksibiliti kod dan kebolehbacaan.

Terangkan serat dalam Php 8.1 untuk keserasian.Terangkan serat dalam Php 8.1 untuk keserasian.Apr 12, 2025 am 12:05 AM

Serat diperkenalkan dalam Php8.1, meningkatkan keupayaan pemprosesan serentak. 1) Serat adalah model konkurensi ringan yang serupa dengan coroutine. 2) Mereka membenarkan pemaju mengawal aliran pelaksanaan tugas secara manual dan sesuai untuk mengendalikan tugas I/O-intensif. 3) Menggunakan serat boleh menulis kod yang lebih cekap dan responsif.

Komuniti PHP: Sumber, Sokongan, dan PembangunanKomuniti PHP: Sumber, Sokongan, dan PembangunanApr 12, 2025 am 12:04 AM

Komuniti PHP menyediakan sumber dan sokongan yang kaya untuk membantu pemaju berkembang. 1) Sumber termasuk dokumentasi rasmi, tutorial, blog dan projek sumber terbuka seperti Laravel dan Symfony. 2) Sokongan boleh didapati melalui saluran StackOverflow, Reddit dan Slack. 3) Trend pembangunan boleh dipelajari dengan mengikuti RFC. 4) Integrasi ke dalam masyarakat dapat dicapai melalui penyertaan aktif, sumbangan kepada kod dan perkongsian pembelajaran.

PHP vs Python: Memahami PerbezaanPHP vs Python: Memahami PerbezaanApr 11, 2025 am 12:15 AM

PHP dan Python masing -masing mempunyai kelebihan sendiri, dan pilihannya harus berdasarkan keperluan projek. 1.Php sesuai untuk pembangunan web, dengan sintaks mudah dan kecekapan pelaksanaan yang tinggi. 2. Python sesuai untuk sains data dan pembelajaran mesin, dengan sintaks ringkas dan perpustakaan yang kaya.

PHP: Adakah ia mati atau hanya menyesuaikan diri?PHP: Adakah ia mati atau hanya menyesuaikan diri?Apr 11, 2025 am 12:13 AM

PHP tidak mati, tetapi sentiasa menyesuaikan diri dan berkembang. 1) PHP telah menjalani beberapa lelaran versi sejak tahun 1994 untuk menyesuaikan diri dengan trend teknologi baru. 2) Ia kini digunakan secara meluas dalam e-dagang, sistem pengurusan kandungan dan bidang lain. 3) Php8 memperkenalkan pengkompil JIT dan fungsi lain untuk meningkatkan prestasi dan pemodenan. 4) Gunakan OPCACHE dan ikut piawaian PSR-12 untuk mengoptimumkan prestasi dan kualiti kod.

Masa Depan PHP: Adaptasi dan InovasiMasa Depan PHP: Adaptasi dan InovasiApr 11, 2025 am 12:01 AM

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

SecLists

SecLists

SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft