function getPostScore(time) {
var diff = Math.floor((new Date()).getTime()/1000) - time;
if( diff <= 3600) return 50000;
else if( diff <= 7200) return 25000;
else if( diff <= 10800) return 10000;
else return 0;
}
getPostScore(1493487180); // 10000
y = k / x
k = 50000 * 3600
она удачно захватывает и вторую точку. Но плоха тем, что ближе к нулю зашкаливает в +бесконечность.function getPostSigma(time){
var diff = Math.floor((new Date()).getTime()/1000) - time;
return Math.round( 10000 + 40000 / (1 + Math.exp((diff-6800)/700)));
}
getPostSigma(1493531780); // 49998
getPostSigma(1493522780); // 11545
urldecode()
.allow_url_fopen
никак не отразится на поведении cURL, например.iptables -I OUTPUT -p tcp --dport 80 -m owner --uid-owner apache -m state --state NEW -j REJECT
https://vk.com/photo-212455842_372111103
<?php
$url = "https://vk.com/photo212455842_372111103";
if( preg_match("/(\-?\d+)_(\d+)$/", $url, $result)) {
$owner_id = $result[1]; // 212455842
$photo_id = $result[2]; // 372111103
echo "$owner_id - $photo_id\n";
} else {
echo "Не совпало чё-т..\n";
}
$info = pathinfo('/doc2/Тестовый документ.pdf');
echo $info['filename']; // Тестовый документ
'type' => 'audio_message'
и названием 'title' => 'audio_message.mp3'
. Сохраняет загурженный файл docs.save() и прикладывает его к сообщению пользователю в messages.send() в поле attachment.<?php
$filename = "test.mp4";
$cmd = sprintf('ffprobe -v quiet -show_streams -of json "%s"', $filename);
$output = array();
exec( $cmd, $output);
$data = json_decode( implode('', $output));
$width = $height = 0;
if( $data && isset($data->streams) && is_array($data->streams) && count($data->streams)) {
foreach( $data->streams AS $i => $stream) {
if( isset( $stream->width, $stream->height)) {
$width = $stream->width;
$height = $stream->height;
break;
}
}
}
echo "Video is ${width}x$height\n"; // Video is 400x224
<audio crossorigin="anonymous" src="..." autoplay loop></audio>
vk.com/404.php?...
var offset = 180; // в минутах часовой пояс Москвы +3 часа = +180 минут
var D = new Date();
D.setMinutes( D.getMinutes() + D.getTimezoneOffset() + offset);
// объект D теперь содержит дату-время соответствующую Москве.