echo
для сервера ничтожна, по сравнению с тяжестью передачи лишних данных по сети от сервера в браузер.$str = 'prosto+tyt+slova+raznie';
$words = explode('+', $str); // массив слов
if( count( $words) > 1) {
array_pop($words); // выкидываем последнее слово, если их больше 1
printf( '<a href="#%s">%s</a>', implode('+', $words), implode(' ', $words));
}
ffprobe -v quiet -print_format json -show_format music.mp3
{
"format": {
"filename": "music.mp3",
"nb_streams": 2,
"nb_programs": 0,
"format_name": "mp3",
"format_long_name": "MP2/3 (MPEG audio layer 2/3)",
"start_time": "0.025056",
"duration": "219.350204",
"size": "7072585",
"bit_rate": "257946",
"probe_score": 51,
"tags": {
"title": "Rihanna - Work (Feat. Drake)(VipMusic.In)",
"artist": "VipMusic.In",
"album": "Rihanna - ANTi (2016) - VipMusic.In",
"composer": "VipMusic.In",
"copyright": "VipMusic.In",
"publisher": "VipMusic.In",
"genre": "[VipMusic.In]"
}
}
}
$date = new DateTime(); // объект с текущей датой-временем
$date->sub(new DateInterval('P46D')); // вычли интервал 46 дней
echo $date->format('Y-m-d') . "\n"; // 2016-02-02
auto_up, created, effective
– последние два при создании одинаковы – датавремя создания поста.effective
у записей, где auto_up=1
– и если разница больше 4 часов, вычитайте 4 часа из effective
.created
, а по effective
. $num = 1679;
$sum = array_sum( str_split( $num));
$secretKey = "nXYFyArf6F6iQXTzg"; // хранится в тайне, известен только серверу
$a = "значение неподделываемого параметра А";
$b = "значение неподделываемого параметра B";
$params = array(
'param_a' => $a,
'param_b' => $b,
'sign' => md5( "param_a" . $a . "param_b" . $b . $secretKey),
);
printf( '<a href="http://site.com?%s">Суперссылка</a>', http_build_query($params));
$ar = [0, 2, 3, 7, 8];
$maxValue = max( $ar);
if( $maxValue >= pow(2, 32)) {
return; // больше, чем влезет в один ключ в Redis
}
$maxBytes = ceil( $maxValue / 8);
$bin = str_repeat( chr(0x0), $maxBytes);
foreach($ar AS $bitNumber) {
$byteNumber = floor( $bitNumber / 8); // в каком символе строки этот бит окажется
$addon = 1 << ( 7 - $bitNumber % 8); // каков этот бит в своем байте (Redis слева направо)
$byteChar = substr( $bin, $byteNumber, 1); // получаем этот символ из нашей строки
$byteChar = chr( $addon | ord( $byteChar)); // обновляем символ очередным битом
$bin = substr_replace( $bin, $byteChar, $byteNumber, 1); // вставляем обновленный символ в строку
}
// return $bin; // строка готова для Redis'а.
// проверка
for( $i=0; $i<strlen($bin); $i++) printf( "%08b", ord(substr($bin,$i,1)));
echo PHP_EOL;
$img = 'https://scontent.cdninstagram.com/hphotos-xfa1/t51.2885-15/e15/11378546_468565866637366_80199982_n.jpg';
$localFile = fopen( $_SERVER["DOCUMENT_ROOT"] . '/' . basename($img), 'w');
$ch = curl_init( $url);
curl_setopt_array( $ch, array(
CURLOPT_FILE => $localFile,
CURLOPT_SSL_VERIFYPEER => FALSE,
CURLOPT_SSL_VERIFYHOST => FALSE,
CURLOPT_HEADER => FALSE,
CURLOPT_TIMEOUT => 10,
));
curl_exec( $ch);
fclose( $localFile);
curl_close( $ch);