const FLAGFILE = 'lock_file.lock';
private $myrun = true;
public function __construct()
{
if (file_exists(self::FLAGFILE) {
$this->myrun = false;
exit('Lock file exists');
}
touch(self::FLAGFILE);
}
function __destruct ()
{
if ($this->myrun) unlink(self::FLAGFILE);
}
Content-type
: вы передрали код из примера с application/x-www-form-urlencoded
, который предполагает отправку данных как в GET-параметрах: a=1&b=2&c=3
request.setRequestHeader("Content-Type", "application/json;charset=UTF-8");
execute()
так-себе, потому, что там много ограничений, в т.ч. на простой цикл. Чем больше стоп-слов, тем скорее код упрётся в лимит итераций, перебирая их. Поэтому стоп-слова лучше проверять на стороне сервера в PHP – проще. И не придётся гонять туда весь словарь нехорошестей. Проще же принять оттуда недлинное название.age_limits
– возрастное ограничение.1 — нет;
2 — 16+;
3 — 18+.
3
time()
if .. else
и выводите релевантную строку.if()
проверяет только условие существования файла или директории. А try-catch
обработает бОльшее число ситуаций: если это не файл, а директория, если права не позволяют читать, если устройство гакнулось и не прочиталось.# Вариант 1:
f getFileContent(filename){
if (!file_exists(filename)) {error: file not found}
return file_content(filename)
}
# Вариант 2:
f getFileContent(filename){
try return file_content(filename)
catch FileNotFoundException {error: file not found}
}
if
отличается тем, что проверяет предусмотренные варианты, а исключения кидаются в непредусмотренных. Все бросаемые исключения надо документировать, чтобы их кто-то где-то, в итоге, поймал.$arr = [
'image_name_1.jpg',
'image_name_11.jpg',
'image_name_2.jpg',
'image_name_100.jpg',
'image_name_001.jpg',
];
usort($arr, function($a, $b) {
$format = 'image_name_%d.jpg';
list($aVal) = sscanf($a, $format);
list($bVal) = sscanf($b, $format);
return $aVal - $bVal;
});
echo json_encode($arr);
/*
["image_name_1.jpg","image_name_001.jpg","image_name_2.jpg","image_name_11.jpg","image_name_100.jpg"]
*/
array_slice()
. Что будет, если передать его в array_slice()
по ссылке – уменьшится использование памяти?root
, с проверкой корректности конфигов:15 0 0 0 0 nginx -t && nginx -s reload > /dev/null 2>&1