Регулярное выражение получить первое число
1 |
^(\d+)[\s-\/]\d* |
280 240-300 240/300 Пример
1 |
^(\d+)[\s-\/]\d* |
280 240-300 240/300 Пример
Создадим index.php
1 2 3 4 5 6 7 8 9 |
<?php include ("config.php"); $ts = disk_total_space(".")*($perc/100); $fs = disk_free_space("."); if ($fs<=$ts) { mail($mailto, "Мало места на диске", $message); } |
Создадим config.php
1 2 3 4 |
<?php $perc = 20; # % свободного места $mailto = "andrey@matveevs.ru"; # Получатель $message = "Внимание! Осталось мало места на диске"; # Текст сообщения |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
function readURL(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { $('#image').attr('src', e.target.result); }; reader.readAsDataURL(input.files[0]); } } $("#imgInput").change(function(){ readURL(this); }); //http://jsfiddle.net/YJG79/16/ |
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 |
<?php function sendMessage($chatID, $messaggio, $token, $message_id = null) { echo "sending message to " . $chatID . "\n"; $url = "https://api.telegram.org/bot" . $token . "/sendMessage?chat_id=" . $chatID; $url = $url . "&text=" . urlencode($messaggio); if ($message_id) { $url = $url . "&reply_to_message_id=" . $message_id; } $ch = curl_init(); $optArray = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true ); curl_setopt_array($ch, $optArray); $result = curl_exec($ch); curl_close($ch); return $result; } function sendPhoto($chatID, $messaggio, $token) { echo "sending message to " . $chatID . "\n"; $url = "https://api.telegram.org/bot" . $token . "/sendPhoto?chat_id=" . $chatID; $url = $url . "&photo=http://site.ru/img.png&caption=Тут кароче до 200символов типа ФИО можно грузить и город)"; $ch = curl_init(); $optArray = array( CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true ); curl_setopt_array($ch, $optArray); $result = curl_exec($ch); curl_close($ch); return $result; } $obj = new stdClass(); $obj->token = 'ТУТ ТОКЕН'; $obj->chat = '@my_CHAnnel'; $obj->message = isset($_GET['m']) ? $_GET['m'] : 'нет гет параметра'; $photo = sendPhoto($obj->chat, $obj->message, $obj->token); $result = json_decode($photo); $img_id = $result->result->message_id; var_dump(sendMessage($obj->chat, $obj->message, $obj->token, $img_id)); |
пример
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 |
<?$token = 'TOKEN!!!'; $user_id = 'self'; $instagram_cnct = curl_init(); curl_setopt( $instagram_cnct, CURLOPT_URL, "https://api.instagram.com/v1/users/" . $user_id . "/media/recent?access_token=" . $token ); curl_setopt( $instagram_cnct, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt( $instagram_cnct, CURLOPT_TIMEOUT, 15 ); $media = json_decode( curl_exec( $instagram_cnct ) ); curl_close( $instagram_cnct ); $limit = 20; $size = 262; foreach(array_slice($media->data, 0, $limit) as $data): if ($data->type != 'video' && empty($data->videos)):?> <li class="insta-tape__item"> <a href="<?=$data->link?>" class="insta-tape__link" style="background-image: url(<?=$data->images->low_resolution->url?>);" target="_blank"> <p class="likes"><img src="<?=SITE_TEMPLATE_PATH?>/img/like.png"> <span><?=$data->likes->count?></span></p> <p class="comments"><img src="<?=SITE_TEMPLATE_PATH?>/img/comment.png"> <span><?=$data->comments->count?></span></p> </a> </li> <?endif; endforeach;?> |
Получить токен можно по ссылке в гет запросе
1 |
https://api.instagram.com/oauth/authorize/?client_id=ID приложения&redirect_uri=URL-адрес&response_type=token |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
return ShopProduct::find() ->select( ShopProduct::tableName() . '.name pn, ' . ShopProduct::tableName() . '.path pp, lvl1.name l1n, lvl1.path l1p, lvl2.name l2n, lvl2.path l2p, lvl3.name l3n, lvl3.path l3p' ) ->leftJoin(ShopCategory::tableName() . ' lvl1', ShopProduct::tableName() . '.cat_id = lvl1.id') ->leftJoin(ShopCategory::tableName() . ' lvl2', 'lvl1.parent_id = lvl2.id') ->leftJoin(ShopCategory::tableName() . ' lvl3', 'lvl2.parent_id = lvl3.id') ->where([ShopProduct::tableName() . ".id" => $id]) ->asArray() ->one(); |
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 |
<?php include $_SERVER['DOCUMENT_ROOT'] . "/standalone.php"; require $_SERVER['DOCUMENT_ROOT'] . "/classes/sberbank.class.php"; $sber = new SberbankController; $sber->setUser('sber Login'); $sber->setPassword('sber Pass'); $sber->setPasswordTest('SberPass test'); $sber->testMode(true); // тестовый режим активирован // Получаем тип объектов $typesCollection = umiObjectTypesCollection::getInstance(); $objectTypeId = $typesCollection->getBaseType('emarket', 'order'); // Здесь id объекта // Получаем объекты $objects = umiObjectsCollection::getInstance(); // фильтрация $sel = new umiSelection; $objectType = $typesCollection->getType($objectTypeId); $sel->addObjectType($objectTypeId); //Устанавливаем фильтр по типу данных $sel->addPropertyFilterEqual($objectType->getFieldId('payment_status_id'), 166); //108 $sel->addPropertyFilterEqual($objectType->getFieldId('status_oplaty_ot_sberbanka'), 1); //Получаем результаты $result = umiSelectionsParser::runSelection($sel); //Массив id объектов $total = umiSelectionsParser::runSelectionCounts($sel); //Количество записей foreach ($result as $orderId) { $obj = $objects->getObject($orderId); $sberId = $obj->getValue('number_sber'); // номер в сбербанке $sumPay = $obj->getValue('summa_oplaty'); // оплачено $sumNeed = $obj->getValue('total_price'); // стоимость заказа $status = $sber->getOrderStatusExtended($sberId); // проверяем статус заявки if ($status->errorCode == 0 && $status->orderStatus == 1) { // проверяем сумму оплаты и сумму заказа $withdraw = ($sumNeed >= $sumPay) ? $sumPay : $sumPay - $sumNeed; // кидаем номер заказа и сумму списания $res = $sber->deposit($sberId, (float) $withdraw * 100); if ($res->errorCode == 0) { $obj->setValue('status_oplaty_ot_sberbanka', 2); $obj->setValue('summa_spisaniya', $withdraw); $obj->setValue('data_spisaniya', date('d.m.Y H:i:s')); $obj->commit(); } } } |
Подключаемся по ssh через другой ip/сервак вводим команду
1 |
iptables -L |
Если есть, что-то похожее на
1 2 3 4 5 |
Chain f2b-sshd (1 references) target prot opt source destination REJECT all -- 91.125.214.32 anywhere reject-with icmp-port-unreachable REJECT all -- 5.128.15.121 anywhere reject-with icmp-port-unreachable RETURN all -- anywhere anywhere |
Вспомогательная команда(только по банам)
1 |
iptables -L f2b-sshd |
Делаем drop
1 2 |
iptables -D f2b-sshd 1 # где 1 это порядковый номер |
Вариант №1
1 |
$phone = preg_replace("/[^0-9]/", '', $phone); |
Вариант №2
1 2 3 4 5 |
const PHONE_PATTERN = ["+", "-", "(", ")", " "]; function getPhone($phone) { return str_replace(PHONE_PATTERN, null, $phone); } |
Вариант №3
1 2 3 4 5 6 7 |
function phone($str) { if (!preg_match('/^[\d-]+$/', $str)) { $str = preg_replace('/[^\d]+/', '', $str); } return $str; } |
Используем библиотеку PHPExcel Ссылка на gitHub
1 2 3 4 5 6 7 8 9 10 11 12 |
function convertXLStoCSV($infile, $outfile) { $fileType = PHPExcel_IOFactory::identify($infile); $objReader = PHPExcel_IOFactory::createReader($fileType); $objReader->setReadDataOnly(true); $objPHPExcel = $objReader->load($infile); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'CSV'); $objWriter->setDelimiter(';'); $objWriter->save( _DIR_ . "/temp/" . $outfile ); } |
И вызовем функцию нашу
1 2 3 |
convertXLStoCSV($import_file, $name); // $import_file - путь до файла // $name - Его имя |
Ссылка на архив phpExcel