A
>A1RN1kE<
Original poster
Добрый день!
Самое главное для разработчика не изобретать велосипед и хранить нужный фрагмент кода, чтобы он всегда был под рукой. Сегодня мы покажем вам 9 наиполезнейших PHP техник и методов, которые наверняка вам пригодятся.
Простое кэширование страниц
Когда ваш проект не базируется на каком-то CMS или фрэймворке, то часто приходится самим кэшировать страницы. Следующий фрагмент кода прост до безобразия, но работает эффективно.
Расчёт дистанции PHP
Следующая функция довольно таки часто необходима в том или ином скрипте. Она вычисляет расстояние между пунктом A и B, используя долготу и ширину. Возвращает результат в милях, километрах, или в морских милях в зависимости от параметров.
Использование:1 echo distance(32.9697, -96.80322, 29.46786, -98.53506, "k")." kilometers";
Конвертируем секунды во время (год, месяц, день, час…)
Теперь рассмотрим функцию, которая конвертирует секунды в другие временные форматы:
Загрузка файла
Часто такие файлы, как mp3, открываются в различных плеерах в самих веб браузерах. Но если вам надо дать файл на скачку, то нет проблем: используйте следующий код.
Прогноз погоды через Google API
Вы знаете какая сегодня погода? Эти три строки кода помогут вам узнать это. Всё что вам нужно сделать, так это заменить ADDRESS на ваш адрес в первой строчке.
Простой PHP whois
Сервис Whois очень полезен для тех, кто хочет разузнать различную информацию о том или ином домене: хозяин, время создания, регистрации и т.д. Используя PHP команду whois из unix очень просто написать подобную функцию. Учтите то, что команда whois должна поддерживаться вашим веб сервером иначе ничего не выйдет.
Получаем координаты по заданному адресу
Благодаря Google Maps API, у разработчиков появилась возможность определять координаты места по адресу нахождения интересующего объекта. Следующая функция принимает адрес и возвращает массив содержащий широту и долготу.
Получаем favicon используя PHP и Google
В наши дни, веб сайты часто используют сторонние favicon. Для решения подобной задачи нам поможет Google и PHP.
Вычисляем комиссию Paypal
Ох уж эти комиссии Paypal. Все, кто когда либо имел дело с этой системой знает что это такое. Вашему вниманию представляю код, который вычислит их для вас. Ввести нужно только сумму:
Всем спасибо за внимание...
Коды созданы в ознакомительных целях..
Автор кода ''Я убью ТеБя
D''
Самое главное для разработчика не изобретать велосипед и хранить нужный фрагмент кода, чтобы он всегда был под рукой. Сегодня мы покажем вам 9 наиполезнейших PHP техник и методов, которые наверняка вам пригодятся.
Простое кэширование страниц
Когда ваш проект не базируется на каком-то CMS или фрэймворке, то часто приходится самим кэшировать страницы. Следующий фрагмент кода прост до безобразия, но работает эффективно.
Код:
01
14
15 output all your html here.
16
17
Расчёт дистанции PHP
Следующая функция довольно таки часто необходима в том или ином скрипте. Она вычисляет расстояние между пунктом A и B, используя долготу и ширину. Возвращает результат в милях, километрах, или в морских милях в зависимости от параметров.
Код:
01 function distance($lat1, $lon1, $lat2, $lon2, $unit) {
02
03 $theta = $lon1 - $lon2;
04 $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) + cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
05 $dist = acos($dist);
06 $dist = rad2deg($dist);
07 $miles = $dist * 60 * 1.1515;
08 $unit = strtoupper($unit);
09
10 if ($unit == "K") {
11 return ($miles * 1.609344);
12 } else if ($unit == "N") {
13 return ($miles * 0.8684);
14 } else {
15 return $miles;
16 }
17 }
Использование:1 echo distance(32.9697, -96.80322, 29.46786, -98.53506, "k")." kilometers";
Конвертируем секунды во время (год, месяц, день, час…)
Теперь рассмотрим функцию, которая конвертирует секунды в другие временные форматы:
Код:
01 function Sec2Time($time){
02 if(is_numeric($time)){
03 $value = array(
04 "years" => 0, "days" => 0, "hours" => 0,
05 "minutes" => 0, "seconds" => 0,
06 );
07 if($time >= 31556926){
08 $value["years"] = floor($time/31556926);
09 $time = ($time%31556926);
10 }
11 if($time >= 86400){
12 $value["days"] = floor($time/86400);
13 $time = ($time%86400);
14 }
15 if($time >= 3600){
16 $value["hours"] = floor($time/3600);
17 $time = ($time%3600);
18 }
19 if($time >= 60){
20 $value["minutes"] = floor($time/60);
21 $time = ($time%60);
22 }
23 $value["seconds"] = floor($time);
24 return (array) $value;
25 }else{
26 return (bool) FALSE;
27 }
28 }
Загрузка файла
Часто такие файлы, как mp3, открываются в различных плеерах в самих веб браузерах. Но если вам надо дать файл на скачку, то нет проблем: используйте следующий код.
Код:
01 function downloadFile($file){
02 $file_name = $file;
03 $mime = 'application/force-download';
04 header('Pragma: public');
05 header('Expires: 0');
06 header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
07 header('Cache-Control: private',false);
08 header('Content-Type: '.$mime);
09 header('Content-Disposition: attachment; filename="'.basename($file_name).'"');
10 header('Content-Transfer-Encoding: binary');
11 header('Connection: close');
12 readfile($file_name);
13 exit();
14 }
Прогноз погоды через Google API
Вы знаете какая сегодня погода? Эти три строки кода помогут вам узнать это. Всё что вам нужно сделать, так это заменить ADDRESS на ваш адрес в первой строчке.
Код:
1 $xml = simplexml_load_file('http://www.google.com/ig/api?weather=ADDRESS');
2 $information = $xml->xpath("/xml_api_reply/weather/current_conditions/condition");
3 echo $information[0]->attributes();
Простой PHP whois
Сервис Whois очень полезен для тех, кто хочет разузнать различную информацию о том или ином домене: хозяин, время создания, регистрации и т.д. Используя PHP команду whois из unix очень просто написать подобную функцию. Учтите то, что команда whois должна поддерживаться вашим веб сервером иначе ничего не выйдет.
Код:
01 $domains = array('home.pl', 'w3c.org');
02
03 function creation_date($domain) {
04 $lines = explode("\n", `whois $domain`);
05 foreach($lines as $line) {
06 if(strpos(strtolower($line), 'created') !== false) {
07 return $line;
08 }
09 }
10
11 return false;
12 }
13
14 foreach($domains as $d) {
15 echo creation_date($d) . "\n";
16 }
Получаем координаты по заданному адресу
Благодаря Google Maps API, у разработчиков появилась возможность определять координаты места по адресу нахождения интересующего объекта. Следующая функция принимает адрес и возвращает массив содержащий широту и долготу.
Код:
01 function getLatLong($address){
02 if (!is_string($address))die("All Addresses must be passed as a string");
03 $_url = sprintf('http://maps.google.com/maps?output=js&q=%s',rawurlencode($address));
04 $_result = false;
05 if($_result = file_get_contents($_url)) {
06 if(strpos($_result,'errortips') > 1 || strpos($_result,'Did you mean:') !== false) return false;
07 preg_match('!center:\s*{lat:\s*(-?\d+\.\d+),lng:\s*(-?\d+\.\d+)}!U', $_result, $_match);
08 $_coords['lat'] = $_match[1];
09 $_coords['long'] = $_match[2];
10 }
11 return $_coords;
12 }
Получаем favicon используя PHP и Google
В наши дни, веб сайты часто используют сторонние favicon. Для решения подобной задачи нам поможет Google и PHP.
Код:
1 function get_favicon($url){
2 $url = str_replace("http://",'',$url);
3 return "http://www.google.com/s2/favicons?domain=".$url;
4 }
Вычисляем комиссию Paypal
Ох уж эти комиссии Paypal. Все, кто когда либо имел дело с этой системой знает что это такое. Вашему вниманию представляю код, который вычислит их для вас. Ввести нужно только сумму:
Код:
01 function paypalFees($sub_total, $round_fee) {
02
03 // Начальные параметры
04 $fee_percent = '3.4'; // процент за транзакцию (3.4% in UK)
05 $fee_cash = '0.20'; // сумма за транзакцию (£0.20 in UK)
06
07 // Вычисление комиссии
08 $paypal_fee = ((($sub_total / 100) * $fee_percent) + $fee_cash);
09
10 if ($round_fee == true) {
11 $paypal_fee = ceil($paypal_fee);
12 }
13
14 // вычисляем Grand Total
15 $grand_total = ($sub_total + $paypal_fee);
16
17 // перевод в цифры
18 $sub_total = number_format($sub_total, 2, '.', ',');
19 $paypal_fee = number_format($paypal_fee, 2, '.', ',');
20 $grand_total = number_format($grand_total, 2, '.', ',');
21
22 return array('grand_total'=>$grand_total, 'paypal_fee'=>$paypal_fee, 'sub_total'=>$sub_total);
23 }
Коды созданы в ознакомительных целях..
Автор кода ''Я убью ТеБя
