10.10.2016 Bitrix, php, php скрипты #D7, ExpressionField
10.08.2016 Bitrix, php, php скрипты #D7, user
$arUsers = Bitrix\Main\UserGroupTable::getList( array( 'order'=>array('USER_ID' => 'asc'), 'group'=>array('USER_ID'), 'select' => array( 'USER_ID', 'USER_DATE_REGISTER' => 'USER.DATE_REGISTER', 'USER_ACTIVE' => 'USER.ACTIVE', 'USER_EMAIL' => 'USER.EMAIL', 'USER_LOGIN' => 'USER.LOGIN', 'USER_WORK_COMPANY' => 'USER.WORK_COMPANY', 'USER_NAME' => 'USER.NAME', 'USER_GROUP_STR', ), 'filter' => array( 'GROUP.ACTIVE' => 'Y', 'USER.ACTIVE' => 'Y', 'GROUP_ID' => array(3, 4), array( 'LOGIC' => 'OR', '=DATE_ACTIVE_FROM' => null, '<=DATE_ACTIVE_FROM' => $nowTimeExpression, ), array( 'LOGIC' => 'OR', '=DATE_ACTIVE_TO' => null, '>=DATE_ACTIVE_TO' => $nowTimeExpression, ), ), 'runtime' => array( 'USER_GROUP_STR' => array( 'data_type' => 'string', 'expression' => array('GROUP_CONCAT(%s)', 'GROUP_ID') ), ) ) )->fetchAll();
07.07.2016 Bitrix, php, php скрипты #bitrix, mail
Подробней тут http://www.spravkaweb.ru/php/sovet/mail/file
$mailFields = array ( 'TITLE' => 'Тема письма ололо', 'TEXT' => 'Текст ололо', ); $arFile = array ( 0 => $_SERVER['DOCUMENT_ROOT'].'/upload/test.php', 1 => $_SERVER['DOCUMENT_ROOT'].'/robots.txt', ); function sendMessage($mailFields, $arFile) { $subject = '=?windows-1251?B?'.base64_encode($mailFields['TITLE']).'?='; // Subject: =?<кодировка текста>?<способ кодирования>?<закодированный Subject>?= // Кодировка текста = windows-1251 или koi8-r или .... смотря в какой кодировке был текст когда ты его (Subject) кодировал. // Способ кодирования = Q (quoted_printable) или B (base64) // Соответственно функции quoted_printable_encode или base64_encode // Но лучше не изобретать велосипед, а использовать iconv_mime_encode (благо тут уже все придумано). $comment_mail = $mailFields['TEXT']; $arAttachment = array(); if (!empty($arFile)) { foreach($arFile as $file) { $arFile = CFile::MakeFileArray($file); if($arFile){ $file = fopen($arFile['tmp_name'], "r"); $text = fread($file, filesize($arFile['tmp_name'])); fclose($file); $arAttachment[] = array( "attachment" => chunk_split(base64_encode($text)), "name" => $arFile["name"], "type" => $arFile["type"], "arFile" => $arFile, ); } } } $boundary = '#####' . time(); $sStartOrEndLetter = '--'; $sImplode = "\r\n"; $sHeader = ''; $sHeader.= 'From: "Ололий" <ololo@ololo.com>'.$sImplode; $sHeader.= 'To: ololo@ololo.com'.$sImplode; $sHeader.= 'Subject: '.$subject.$sImplode; $sHeader.= 'Mime-Version: 1.0'.$sImplode; $sHeader.= 'Content-Type: multipart/mixed; boundary="'.$boundary.'"'.$sImplode; $sMessage = ''; $sMessage.= $sStartOrEndLetter.$boundary.$sImplode; $sMessage.= 'Content-type: text/plain; charset="windows-1251"'.$sImplode; $sMessage.= 'Content-Transfer-Encoding: quoted-printable'.$sImplode; $sMessage.= "\n"; $sMessage.= $comment_mail; $sMessage.= "\n\n"; if(count($arAttachment) > 0){ foreach($arAttachment as $attachment){ $sMessage.= $sStartOrEndLetter.$boundary.$sImplode; $sMessage.= 'Content-Type: application/x-rar-compressed; name="'.$attachment['name'].'"'.$sImplode; $sMessage.= 'Content-Transfer-Encoding:base64'.$sImplode; $sMessage.= 'Content-Disposition:attachment;'.$sImplode; $sMessage.= $sImplode; $sMessage.= $attachment['attachment']; $sMessage.= $sImplode; } } $sMessage.= $sStartOrEndLetter.$boundary.$sStartOrEndLetter.$sImplode; // echo "<pre>"; // print_r($sHeader); // print_r($sMessage); // echo "</pre>"; if(mail('ololo@ololo.com', $subject, $sMessage, $sHeader) ){ print_r('cool'); }else{ print_r('bad'); } }
27.06.2016 Bitrix, php, php скрипты addFile, file
require $_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php'; $arFileToUploads = $_FILES['userfile']; CAllFile::ResizeImage( &$arFileToUploads, // путь к изображению, сюда же будет записан уменьшенный файл array( "width" => 1000, // новая ширина "height" => 5000 // новая высота ), BX_RESIZE_IMAGE_PROPORTIONAL // метод масштабирования. обрезать прямоугольник без учета пропорций ); $arFileToUploads['MODULE_ID'] = 'iblock'; $sPathToSave = 'posts'; if(intval($USER->GetID()) > 0){ $sPathToSave .= '/user_'.intval($USER->GetID()); } $iFileId = CFile::SaveFile($arFileToUploads, $sPathToSave); $arFile = CFile::GetFileArray($iFileId); exit;
28.01.2016 php скрипты curl, geoip, ip
<? $ip = '192.168.11.5'; if($ch = curl_init()){ $url = "http://freegeoip.net/json/". $ip; $headers = array( "Content-type: application/json", "Accept: application/json", "Accept-Language:ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $data = curl_exec($ch); if (curl_errno($ch)) { // curl_error($ch); } else { $arData = json_decode($data, true) ; } curl_close($ch); } print_r($arData); ?>
07.10.2015 php, php скрипты curl
$url = "https://dadata.ru/api/v2/suggest/address"; $headers = array( "Content-type: application/json", "Accept: application/json", "Authorization: Token ДЛИННЫЙ_КЛЮЧ" ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, '{ "query": "Москва Площадь Ленина 5 6", "count": 5 }'); $data = curl_exec($ch); if (curl_errno($ch)) { echo "Error: " . curl_error($ch); } else { curl_close($ch); echo json_decode($data, true); }
08.04.2015 Bitrix, php скрипты bitrix, zip, архив, файлы и папки
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); // require($_SERVER["DOCUMENT_ROOT"]."/download/createzip.php"); $arrFile = array( "/upload/item.jpg", "/upload/item2.jpg", "/upload/slide.jpg", "/upload/products/doc/CWSO.pdf", "/upload/products/doc/CWSS-C-W.pdf", "/upload/products/doc/CWSS-O.pdf", "/upload/products/doc/CWST.pdf", "/upload/products/doc/DBS1224B4W_manual.pdf", "/upload/products/doc/EMA_DBS_Certificate.pdf", "/upload/products/doc/EnScape_Certificate.pdf", "/upload/products/doc/ExitPoint_Certificate.pdf", "/upload/products/doc/ExitPoint_manual.pdf", ); createZipAndDownload($arrFile); function createZipAndDownload($arFiles) { $zip = new ZipArchive(); $filename = "system_sensor_archive_".date("d.m.Y").".zip"; var_dump($filename); if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) { exit("Невозможно открыть <$filename>\n"); } foreach ($arFiles as $file) { $arr = explode("/", $file); var_dump($arr); $zip->addFile($_SERVER["DOCUMENT_ROOT"].$file, end($arr)); } $zip->close(); file_force_download($filename); } function file_force_download($file) { if (file_exists($file)) { // сбрасываем буфер вывода PHP, чтобы избежать переполнения памяти выделенной под скрипт // если этого не сделать файл будет читаться в память полностью! if (ob_get_level()) { ob_end_clean(); } // заставляем браузер показать окно сохранения файла header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename=' . basename($file)); header('Content-Transfer-Encoding: binary'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); // читаем файл и отправляем его пользователю readfile($file); unlink($file); exit; } }
Оригинал тут http://pastebin.com/h8zubtLz
15.09.2014 php, php скрипты, Парсинг строки
16.05.2014 php скрипты в строке подстроку, строки
if (!function_exists("yandex_text2xml")) { function yandex_text2xml($text, $bHSC = false, $bDblQuote = false) { global $APPLICATION; $bHSC = (true == $bHSC ? true : false); $bDblQuote = (true == $bDblQuote ? true: false); if ($bHSC) { $text = htmlspecialcharsbx($text); if ($bDblQuote) $text = str_replace('"', '"', $text); } $text = preg_replace("/[\x1-\x8\xB-\xC\xE-\x1F]/", "", $text); $text = str_replace("'", "'", $text); $text = $APPLICATION->ConvertCharset($text, LANG_CHARSET, 'windows-1251'); return $text; } }