Можно ли при помощи хетакес скрыть / подменить прямую ссылку на скачивание файла? Сама ссылка берется из БД.
Dezaktivator, Если включен модуль апаше XSendFile, проще апачем отдавать
// //habrahabr.ru/post/151795/
function file_force_download($file) {
if (file_exists($file)) {
header('X-SendFile: ' . realpath($file));
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($file));
exit;
}
}
kantry, А в граберах как реализовано? Там же тоже ссылка на источник подменяется.
Dezaktivator, Да по всякому, обычно с помощью регулярок подменяют адреса.
Подскажите функцию, чтобы проверять слова на смешанные алфавиты (кириллица, латиница)
Добавлено: 02.12.2017 / 20:25
# intelligent (02.12.2017 / 20:13)
Подскажите функцию, чтобы проверять слова на смешанные алфавиты (кириллица, латиница)
Это регуляркой делается.
Добавлено: 02.12.2017 / 20:52
// Проверить на латиницу
var_dump(get_lang('Текст кириллицей')); // false
// Проверить на кириллицу (вторая буква в Lаtin - русская)
var_dump(get_lang('Lаtin text', 'ru')); // true
function get_lang($str, $lang = 'en') {
$langs = ['en' => '~[a-z]~i', 'ru' => '~[а-я]~iu'];
return (bool)preg_match($langs[$lang], $str);
}
Как можно получать значения массива рандомно без повторений?
Функция array_rand(); выводит значения массива случайным образом, но они могут повторяться.
Добавлено: 06.12.2017 / 00:38
# Sitego (05.12.2017 / 23:48)
Как можно получать значения массива рандомно без повторений?
Функция array_rand(); выводит значения массива случайным образом, но они могут повторяться.
Вот пример с использованием сессий:
code (+/-)
session_id() ?: session_start();
// Массив случайных значений
$array = [
'A',
'B',
'C',
'D',
'E'
];
isset($_SESSION['arr']) ?: $_SESSION['arr'] = [];
$temp = &$_SESSION['arr'];
!empty($temp) ?: $temp = $array;
shuffle($temp);
$result = $temp[0];
unset($temp[0]);
echo $result;
Добавлено: 06.12.2017 / 00:42
Sitego, суть в том, что при выборе из массива текущего случайно выпавшего элемента, этот элемент удаляется из массива, и таким образом исключается его повторное получение до момента, пока не закончатся все элементы в массиве - после этого массив восстанавливается и цикл начинается заново.