Архив

Архив раздела ‘PHP’

Имеем массив, составленный следующим образом:

$parts=array();
foreach($arr as $item){
	$parts[]=array(
		'name'=>$item['name'],
		'manufacturer'=>$item['maker'],
		'amount'=>$item['quantity'],
		'price'=>$item['price'],
		'term'=>$item['days'],
		'code'=>$item['orderreference'],
	);
}

Для сортировки по одному из ключей:

if(isset($_GET['order'])){
	foreach($parts as $k=>$v){
		$t_price[$k]=$v['price'];
		$t_amount[$k]=$v['amount'];
		$t_term[$k]=$v['term'];
	}
	switch($_GET['order']){
		case 'price':
			array_multisort($t_price,SORT_ASC,$parts);
		break;
		case 'amount':
			array_multisort($t_amount,SORT_ASC,$parts);
		break;
		case 'term':
			array_multisort($t_term,SORT_ASC,$parts);
		break;
	}
}

От меньшего к большему и от большего к меньшему:

if(isset($_GET['sort'])){
	foreach($parts as $k=>$v){
		$t_price[$k]=$v['price'];
		$t_amount[$k]=$v['amount'];
		$t_term[$k]=$v['term'];
	}
	$order=($_GET['order']=='desc')?SORT_DESC:SORT_ASC;
	switch($_GET['sort']){
		case 'price':
			array_multisort($t_price,$order,$parts);
		break;
		case 'amount':
			array_multisort($t_amount,$order,$parts);
		break;
		case 'term':
			array_multisort($t_term,$order,$parts);
		break;
	}
}
Categories: PHP Tags:
function clean_notes($text){
	$text=preg_replace("'<style[^>]*?>.*?</style>'si","",$text);
	$text=trim(strip_tags($text));
	if(strlen($text)>0){
		return '<p>'.$text.'</p>';
	}
	return '';
}
Categories: PHP Tags:
session_set_cookie_params(7200,"/",".site.ru",false,false);
Categories: PHP Tags:
19 апреля 2017 Нет комментариев

Вывод изображения:

$message.='<img src="https://'.$_SERVER['HTTP_HOST'].'/image.php?text='.urlencode('пример текста').'&image=picture_name"/>';

Содержание файла image.php:

<?php
if($_GET['text']&&$_GET['image']){
	header("Content-type: image/jpeg");
	$bg=$_SERVER['DOCUMENT_ROOT']."/images/".$_GET['image'].".jpg";
	$font=$_SERVER['DOCUMENT_ROOT']."/fonts/font.ttf";
	$picture=imagecreatefromjpeg($bg);
	$center_w=imagesx($picture)/2;
	$center_h=imagesy($picture)/2;
	$color=imagecolorallocate($picture,255,255,255);
	$box=imagettfbbox(9,0,$font,$_GET['text']);
	$left=$center_w-round(($box[2]-$box[0])/2);
	$top=$center_h-round(($box[7]-$box[1])/2);
	imagettftext($picture,9,0,$left,$top,$color,$font,$_GET['text']);
	imagejpeg($picture,null,100);
	imagedestroy($picture);
}
?>
Categories: PHP Tags:
18 апреля 2017 Нет комментариев
function GetListFiles($folder,&$all_files){
	$fp=opendir($folder);
	while($cv_file=readdir($fp)){
		if(is_file($folder."/".$cv_file)){
			$all_files[]=$folder."/".$cv_file;
		}
		elseif($cv_file!="."&&$cv_file!=".."&&is_dir($folder."/".$cv_file)){
			GetListFiles($folder."/".$cv_file,$all_files);
		}
	}
	closedir($fp);
}
$all_files=array();
GetListFiles('/var/www/import_files',$all_files);
print_r($all_files);

http://php.ua/blog/2011-08-08/список-файлов-в-папке-и-подпапках/

Categories: PHP Tags:
15 марта 2017 Нет комментариев

Решение проблемы подсветки поискового запроса не учитывая регистр.
Рабочий вариант с регулярным выражением:

function colorSearchWord($word,$string,$color='violet'){
	return preg_replace('|('.preg_quote($word).')|si','<span style="color:'.$color.';border-bottom:1px dashed '.$color.';">$1</span>',$string);
}

С str_replace фразы в разном регистре не будет подсвечены:

function colorSearchWord($word,$string,$color='violet'){
	$replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>";
	$result=str_replace($word,$replacement,$string);
	return $result;
}

Можно использовать str_ireplace, но подсвеченные фразы будут приведены к нижнему регистру

function colorSearchWord($word,$string,$color='violet'){
	$replacement="<span style='color:".$color."; border-bottom:1px dashed ".$color.";'>".$word."</span>";
	$result=str_ireplace($word,$replacement,$string);
	return $result;
}
Categories: PHP Tags:
23 января 2017 Нет комментариев

Проверить, что строка содержит только кириллицу:

if(preg_match('/^[а-яё]++$/ui',$letter)){
	//...
}
Categories: PHP Tags: