10 супер корисних PHP фрагментів коду, XoZblog - Уроки та статті щодо створення сайту, блогу
Здрастуйте шановні читачі XoZblogа! При роботі з PHP дуже важливо мати «інструментарій» корисних функцій і фрагментів коду, які можуть заощадити багато часу при необхідності. Сьогодні я збираюся показати Вам 10 супер корисних фрагментів коду, про які Ви, мабуть, ніколи не чули.
Надсилання SMS з використанням PHP TextMagic API
// Підключаємо бібліотеку TextMagic require ( 'textmagic-sms-api-php/TextMagicAPI.php');
// Встановлюємо свій логін і пароль у системі $username = 'myusername'; $password = 'mypassword'; $router = новий TextMagicAPI (array ( 'username' => $username , 'password' => $password ) ) ;
// Надсилаємо SMS на номер '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 )
Автоматичне створення пароля
Хоча я особисто вважаю за краще залишити користувачам можливість вибирати свій пароль самим, але для тих хто вважає, що автоматичне створення переважає наступний скрипт. Наступна функція є гнучкою для створення пароля: Ви можете вибрати бажану довжину та силу для пароля.
Визначення місця по IP
Ось корисний фрагмент коду визначення розташування конкретного IP. Нижче функція приймає один IP як параметр, і повертає розташування IP. Якщо місцезнаходження не знайдено, повертається UNKNOWN.
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 = масив ( 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 ) ; >
if ( preg_match ( '
Показати вихідний код будь-якої веб-сторінки
Хочете відобразити вихідний код будь-якої веб-сторінки з нумерацією рядка? Ось фрагмент коду, щоб його реалізувати. Просто змініть URL-адресу в першому рядку на потрібний Вам.
Зашифровано чи з'єднання (https)?
Хороший вопрос. Цей зручний фрагмент може дати вам відповідь. Ничего сложного!
Показати кількість лайків на Вашій сторінці Facebook
Хочете показати на блозі, кількість користувачів, яким сподобалася ваша сторінка Facebook? Це дуже легко, використовуючи наступний фрагмент:
Отримати інформацію про використовувану пам'ять
Для того щоб оптимізувати скрипти, вам необхідно знати, який обсяг оперативної пам'яті вони використовують на сервері. Цей фрагмент коду перевірить пам’ять, а потім покаже початковий, кінцевий і пиковий об’єм використаної пам’яті.
Стиснення даних за допомогою gzcompress()
При роботі з рядками виникає необхідність стискати дані. За допомогою функціїgzcompress() рядки можна стискати. Для зворотної дії просто викличтеgzuncompress(), як показано нижче:
$string = "Нехай сам біль буде сильним, за ним буде adipiscing elit. Тепер, коли це elit my ultricies adipiscing. Немає легкості. Є подушка, a wise or feugiat vestibulum, there are no bad price for the hospital, no ultricies elit lacus who before. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pretium ullamcorper urn qui cuculis. Etiam ac massa але turpi tempor luctus. Curabitur sed nibh eu elit працювати обережно. Це самий diam, наслідок життя щоб прикрасити a, деякі з тепер. У цьому великому pellentesque Tellus to put adipiscing. Але не мій страх, але lacinia augue. soft in, soft but now. Навіть у потрібний час домашнє завдання м’яке. Nulla in neque neque fear hendrerit scelerisque for не eu. Так що maledau lacus eu nollendum що члени euismod urn." ; // упаковка $compressed = gzcompress ( $string );
echo "Оригінальний розмір: " . strlen ( $string ). "\n"; echo "Стиснутий розмір: " . strlen ($стиснутий). "\n"; // Розпоковка $original = gzuncompress ( $compressed );
Запит Whois за допомогою PHP
Якщо вам потрібно отримати інформацію Whois для певного домену, чому б не скористатися PHP? Наступна функція реалізує це рішення, ми передаємо доменне ім’я як параметр і отримуємо інформацію Whois.
функція whois_query ($domain)
// виправлення імені домену: $domain = strtolower ( trim ( $domain ) ) ; $domain = preg_replace ( '/^http:\/\/i' , '', $domain ) ; $domain = preg_replace ( '/^www\./i' , '' , $domain ) ; $domain = рознести ('/', $domain) ; $domain = trim ($domain [0]) ;
$_domain = рознести ('.', $domain); $lst = кількість ($_домен) - 1; $ext = $_domain [ $lst ] ;
$servers = масив ( "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" , "до" => "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 ('Помилка: відповідного nic-сервера не знайдено!') ; >
$nic_server = $servers [$ext];
якщо ($conn = fsockopen ($nic_server, 43)) < fputs ($conn, $domain. "\r\n"); while (! feof ($ conn)) < $ output. = fgets ($ conn, 128); > fclose ($ conn); > else
Надсилання звіту про помилку PHP на Email, замість відображення помилки
За промовчанням більшість серверів налаштовані на відображення повідомлення про помилку в сценаріях PHP. З міркувань безпеки, Ви можете отримувати листи зі звітами про помилки замість того, щоб вони відображалися відвідувачам. Для більш тонкого налаштування роботи вашого сайту, простого хостингу часом буває мало. І єдиним виходом для власників сайтів є оренда сервера з адмініструванням для розміщення там свого проекту. Виділений сервер дає безмежні змогу роботи.
An error ( $number ) вийшло на$line і вfile: $file .
$headers = 'Content-type: text/html; charset=iso-8859-1'. "\r\n";
// Кому відправляємо error_log ($ email, 1, '[email protected]', $headers);
// Застосовуємо нашу функцію обробки помилок set_error_handler ( 'nettuts_error_handler' ) ;
// Помилка) echo $ somevarthatdoesnotexist ;
Щоб залишатися в курсі свіжих статей та уроків, підписуйтесь на щотижневу поштову розсилку або на новину RSS. Дякую!