function remains_parse_timestamp($t=0){
$day=floor($t/86400);
$hour=($t/3600)%24;
$min=($t/60)%60;
return array('day'=>$day,'hour'=>$hour,'min'=>$min);
}
function remains($t){
$res='';
if(time()<$t){
$arr=remains_parse_timestamp($t-time());
if($arr['day']>0){
$res.=$arr['day'].' дн. ';
}
if($arr['hour']>0||$res!=''){
$res.=$arr['hour'].' ч. ';
}
if($arr['min']>0||$res!=''){
$res.=$arr['min'].' мин.';
}
}
return $res;
}
echo remains(1504389720);
В функцию передаем unix timestamp даты в будущем.
Например, чтобы преобразовать ☦ в ☦
html_entity_decode($text,ENT_NOQUOTES,'UTF-8')
Реальный пример:
<meta name="description" content="<?=htmlspecialchars(html_entity_decode($description,ENT_NOQUOTES,'UTF-8'))?>"/>
Имеем массив, составленный следующим образом:
$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;
}
}
Вывод изображения:
$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);
}
?>