Home Backend Development PHP Tutorial PHP代码片断(发送短信、根据IP查找地址、显示网页的源代码、检查服务器是否使用HTTPS、显示Faceboo*丝数量、检测图片的主要颜色、获取内存使用信息)

PHP代码片断(发送短信、根据IP查找地址、显示网页的源代码、检查服务器是否使用HTTPS、显示Faceboo*丝数量、检测图片的主要颜色、获取内存使用信息)

Jun 13, 2016 am 10:38 AM
error gt nic

PHP代码片段(发送短信、根据IP查找地址、显示网页的源代码、检查服务器是否使用HTTPS、显示Faceboo**丝数量、检测图片的主要颜色、获取内存使用信息)

1. 发送短信调用 TextMagic API。// Include the TextMagic PHP librequire('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 == '127.0.0.1' || $ip == 'localhost')$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 = array(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('{<li>City : ([^<]*)</li>}i', $content, $regs) ) {$city = $regs[1];}if ( preg_match('{<li>State/Province : ([^<]*)</li>}i', $content, $regs) ) {$state = $regs[1];}if( $city!='' && $state!='' ){$location = $city . ', ' . $state;return$location;}else{return$default;}}3. 显示网页的源代码<?php // display source code$lines = file('http://google.com/');foreach ($lines as $line_num => $line) {// loop thru each line and prepend line numbersecho "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br>\n";}4. 检查服务器是否使用HTTPSif ($_SERVER['HTTPS'] != "on") {echo "This is not HTTPS";}else{echo "This is HTTPS";}5. 显示Faceboo**丝数量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";/* printsInitial: 361400 bytes*/// http://www.baoluowanxiang.com/// let's use up some memoryfor ($i = 0; $i < 100000; $i++) {$array []= md5($i);}// let's remove half of the arrayfor ($i = 0; $i < 100000; $i++) {unset($array[$i]);}echo"Final: ".memory_get_usage()." bytes \n";/* printsFinal: 885912 bytes*/echo"Peak: ".memory_get_peak_usage()." bytes \n";/* printsPeak: 13687072 bytes*/8. 使用 gzcompress() 压缩数据$string ="Lorem ipsum dolor sit amet, consecteturadipiscing elit. Nunc ut elit id mi ultriciesadipiscing. Nulla facilisi. Praesent pulvinar,sapien vel feugiat vestibulum, nulla dui pretium orci,non ultricies elit lacus quis ante. Lorem ipsum dolorsit amet, consectetur adipiscing elit. Aliquampretium ullamcorper urna quis iaculis. Etiam ac massased turpis tempor luctus. Curabitur sed nibh eu elitmollis congue. Praesent ipsum diam, consectetur vitaeornare a, aliquam a nunc. In id magna pellentesquetellus posuere adipiscing. Sed non mi metus, at laciniaaugue. Sed magna nisi, ornare in mollis in, mollissed nunc. Etiam at justo in leo congue mollis.Nullam in neque eget metus hendrerit scelerisqueeu non enim. Ut malesuada lacus eu nulla bibendumid euismod urna sodales. ";$compressed = gzcompress($string);echo "Original size: ". strlen($string)."\n";/* printsOriginal size: 800*/echo "Compressed size: ". strlen($compressed)."\n";/* printsCompressed 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('/^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;}10. 通过Email发送PHP错误<?php// Our custom error handlerfunction 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) . "
Copy after login
";$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;

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

What are the differences between Huawei GT3 Pro and GT4? What are the differences between Huawei GT3 Pro and GT4? Dec 29, 2023 pm 02:27 PM

Many users will choose the Huawei brand when choosing smart watches. Among them, Huawei GT3pro and GT4 are very popular choices. Many users are curious about the difference between Huawei GT3pro and GT4. Let’s introduce the two to you. . What are the differences between Huawei GT3pro and GT4? 1. Appearance GT4: 46mm and 41mm, the material is glass mirror + stainless steel body + high-resolution fiber back shell. GT3pro: 46.6mm and 42.9mm, the material is sapphire glass + titanium body/ceramic body + ceramic back shell 2. Healthy GT4: Using the latest Huawei Truseen5.5+ algorithm, the results will be more accurate. GT3pro: Added ECG electrocardiogram and blood vessel and safety

Connection status in standby: Disconnected, reason: NIC Compliance Connection status in standby: Disconnected, reason: NIC Compliance Feb 19, 2024 pm 03:15 PM

"The connection status in the event log message shows Standby: Disconnected due to NIC compliance. This means that the system is in standby mode and the network interface card (NIC) has been disconnected. Although this is usually a network issue , but can also be caused by software and hardware conflicts. In the following discussion, we will explore how to solve this problem." What is the reason for standby connection disconnection? NIC compliance? If you see the "ConnectivityStatusinStandby:DisConnected,Reason:NICCompliance" message in Windows Event Viewer, this indicates that there may be a problem with your NIC or network interface controller. This situation is usually

Solution to PHP Fatal error: Call to undefined method PDO::prepare() in Solution to PHP Fatal error: Call to undefined method PDO::prepare() in Jun 22, 2023 pm 06:40 PM

PHP is a popular web development language that has been used for a long time. The PDO (PHP Data Object) class integrated in PHP is a common way for us to interact with the database during the development of web applications. However, a problem that some PHP developers often encounter is that when using the PDO class to interact with the database, they receive an error like this: PHPFatalerror:CalltoundefinedmethodPDO::prep

What should I do if 'Uncaught (in promise) Error: Request failed with status code 500' occurs when using axios in a Vue application? What should I do if 'Uncaught (in promise) Error: Request failed with status code 500' occurs when using axios in a Vue application? Jun 24, 2023 pm 05:33 PM

It is very common to use axios in Vue applications. axios is a Promise-based HTTP client that can be used in browsers and Node.js. During the development process, the error message "Uncaught(inpromise)Error: Requestfailedwithstatuscode500" sometimes appears. For developers, this error message may be difficult to understand and solve. This article will explore this

Solve the problem of 'error: incomplete type is not allowed' in C++ code Solve the problem of 'error: incomplete type is not allowed' in C++ code Aug 26, 2023 pm 08:54 PM

Solve the "error:incompletetypeisnotallowed" problem in C++ code. During the C++ programming process, you sometimes encounter some compilation errors. One of the common errors is "error:incompletetypeisnotallowed". This error is usually caused by operating on an incomplete type. This article will explain the cause of this error and provide several solutions. firstly, I

0271: What should I do if the computer cannot be turned on due to real time clock error? 0271: What should I do if the computer cannot be turned on due to real time clock error? Mar 13, 2023 am 11:30 AM

Solution to "0271: real time clock error" that cannot boot: 1. Press F1, and in the interface that appears, move the option bar to the third item "Date/Time"; 2. Manually change the system time to the current one time; 3. Press F10 and select yes in the pop-up dialog box; 4. Re-open the notebook to boot normally.

Solve the 'error: expected initializer before 'datatype'' problem in C++ code Solve the 'error: expected initializer before 'datatype'' problem in C++ code Aug 25, 2023 pm 01:24 PM

Solve the "error:expectedinitializerbefore'datatype'" problem in C++ code. In C++ programming, sometimes we encounter some compilation errors when writing code. One of the common errors is "error:expectedinitializerbefore'datatype'". This error usually occurs in a variable declaration or function definition and may cause the program to fail to compile correctly or

How to solve PHP Warning: fopen(): failed to open stream: No such file or directory How to solve PHP Warning: fopen(): failed to open stream: No such file or directory Aug 19, 2023 am 10:44 AM

How to solve PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory In the process of using PHP development, we often encounter some file operation problems, one of which is "PHPWarning:fopen():failedtoopenstream:Nosuchfileordirectory"

See all articles