Пока начинающие специалисты пытаются выполнить все требования рынка труда. И одной рукой создают сайт, другой админят сервер, а третьей заботятся о безопасности и SEO-продвижении. Профи и самые прошаренные пользуются панелью управления Ispmanager.
Потому что, как бы..зачем? Зачем что-то делать самому, если можно кнопочки тык-тык и SSL сам продлится, веб-сервер и веб-окружение установится на сервер, сайт развернётся за пару кликов, а всякие штуки по безопасности и SEO-оптимизации сделают всю работу за тебя.
В общем — вещь, рекомендую. Я лично управляю с помощью Ispmanager, но выбор широк, как среди бесплатных, так и платных. В общем, делайте легче, делайте играючи. 😁
Потому что, как бы..зачем? Зачем что-то делать самому, если можно кнопочки тык-тык и SSL сам продлится, веб-сервер и веб-окружение установится на сервер, сайт развернётся за пару кликов, а всякие штуки по безопасности и SEO-оптимизации сделают всю работу за тебя.
В общем — вещь, рекомендую. Я лично управляю с помощью Ispmanager, но выбор широк, как среди бесплатных, так и платных. В общем, делайте легче, делайте играючи. 😁
👨🏻💻 Нужно отфильтровать строку PHP
Нужно с помощью regexp сделать так, что 1) были только русские и английские буквы, цифры, пробелы и знаки !#$&() 2) не было английских букв рядом с русскими(при нахождении русская буква заменяется "#"
function filter($str){
$pattern = '/[^a-zA-Z\d а-яёА-ЯЁ]/';
$replacement = '';
$str=preg_replace($pattern, $replacement, $str);
$replacement = '\1#';
$pattern = '/([a-zA-Z])([а-яёА-ЯЁ])/';
$str=preg_replace($pattern, $replacement, $str);
$pattern = '/([^а-яёА-ЯЁ])([a-zA-Z])/';
$replacement = '#\2';
$str=preg_replace($pattern, $replacement, $str);
return $str;
}
PHP задачи с собеседований
Нужно с помощью regexp сделать так, что 1) были только русские и английские буквы, цифры, пробелы и знаки !#$&() 2) не было английских букв рядом с русскими(при нахождении русская буква заменяется "#"
function filter($str){
$pattern = '/[^a-zA-Z\d а-яёА-ЯЁ]/';
$replacement = '';
$str=preg_replace($pattern, $replacement, $str);
$replacement = '\1#';
$pattern = '/([a-zA-Z])([а-яёА-ЯЁ])/';
$str=preg_replace($pattern, $replacement, $str);
$pattern = '/([^а-яёА-ЯЁ])([a-zA-Z])/';
$replacement = '#\2';
$str=preg_replace($pattern, $replacement, $str);
return $str;
}
PHP задачи с собеседований
👎7
👨🏻💻 Блокирование файла сессии Laravel
В проекте на Laravel 7 иногда вываливается ошибка upstream timed out (110: Unknown error) while reading response header from upstream Сам сайт отдает при этом ошибку 504. Перебирая пошагово на каком этапе возникает проблема, пришел к тому, что в Middleware StartSession есть такая проверка на доступность сессии:
PHP задачи с собеседований
В проекте на Laravel 7 иногда вываливается ошибка upstream timed out (110: Unknown error) while reading response header from upstream Сам сайт отдает при этом ошибку 504. Перебирая пошагово на каком этапе возникает проблема, пришел к тому, что в Middleware StartSession есть такая проверка на доступность сессии:
$session = $this->getSession($request);Если изменить драйвер на Coockie, то проблема пропадает, но использовать куки в качестве хранилища не вариант, как и БД. Проблема возникает если использовать в качестве драйвера и file и redis. Есть ли какое-то решение этой проблемы?
if ($this->manager->shouldBlock() || ($request->route() && $request->route()->locksFor())) {
return $this->handleRequestWhileBlocking($request, $session, $next);
} else {
return $this->handleStatefulRequest($request, $session, $next);
}
PHP задачи с собеседований
👨🏻💻 Реальная проблема реального человека
Необходимо на php реализовать расчет гамма-функции
Задачка переводится с excel на yii2. Нужно на php рассчитывать Гамма функцию. В модуле stats вроде есть функция stats_cdf_gamma. Но пока не могу понять что там за входящие параметры(3шт.), в excel всего один параметр: гамманлог(х). Как-то в статистике и высшей математике не силен. Поскажите, можно ли будет использовать указанную функцию, или как-то подцепить ёкселевские функции или ещё какой вариант.
PHP задачи с собеседований
Необходимо на php реализовать расчет гамма-функции
Задачка переводится с excel на yii2. Нужно на php рассчитывать Гамма функцию. В модуле stats вроде есть функция stats_cdf_gamma. Но пока не могу понять что там за входящие параметры(3шт.), в excel всего один параметр: гамманлог(х). Как-то в статистике и высшей математике не силен. Поскажите, можно ли будет использовать указанную функцию, или как-то подцепить ёкселевские функции или ещё какой вариант.
PHP задачи с собеседований
👎2
👨🏻💻 Как отправить headers на localhost Laravel?
В доках нужно ставить полный путь на сайт но так же не найдет:
В доках нужно ставить полный путь на сайт но так же не найдет:
$response = Http::withToken($token)->post('http://localhost/api/auth/logout');а так он не знает сайт
$response = Http::withToken($token)->post('api/auth/logout');PHP задачи с собеседований
👎1
👨🏻💻 Как выбрать элемент с указанным шансом?
Есть данный массив:
Мне в голову приходить только домножение на N и выбор с помощью rand(1, 100 * N), но не думаю что данный способ является корректным.
PHP задачи с собеседований
Есть данный массив:
Array ( [cost] => 1475.00 [case] => sharp [chance] => 0.47864506627393 )Сумма элемента chance равна 100%, то есть в chance указан шанс выпадения в %, какой наиболее лучший способ будет чтобы выбирать элемент из массива с указанным шансом?
Array ( [cost] => 1399.00 [case] => sharp [chance] => 0.51546391752577 )
Array ( [cost] => 1600.00 [case] => sharp [chance] => 0.44182621502209 )
Array ( [cost] => 1478.00 [case] => sharp [chance] => 0.47864506627393 )
Array ( [cost] => 1050.00 [case] => sharp [chance] => 0.68114874815906 )
Array ( [cost] => 309.00 [case] => sharp [chance] => 2.319587628866 )
Array ( [cost] => 279.00 [case] => sharp [chance] => 2.5773195876289 )
Array ( [cost] => 93.00 [case] => sharp [chance] => 7.7135493372607 )
Array ( [cost] => 109.00 [case] => sharp [chance] => 6.5905743740795 )
Array ( [cost] => 130.00 [case] => sharp [chance] => 5.5228276877761 )
Array ( [cost] => 23.00 [case] => sharp [chance] => 10.861561119293 )
Array ( [cost] => 29.00 [case] => sharp [chance] => 13.696612665685 )
Array ( [cost] => 31.00 [case] => sharp [chance] => 14.635493372607 )
Array ( [cost] => 109.00 [case] => sharp [chance] => 6.5905743740795 )
Array ( [cost] => 2.42 [case] => sharp [chance] => 1.1413843888071 )
Array ( [cost] => 5.39 [case] => sharp [chance] => 2.540500736377 )
Array ( [cost] => 24.00 [case] => sharp [chance] => 11.321796759941 )
Array ( [cost] => 10.00 [case] => sharp [chance] => 4.7128129602356 )
Array ( [cost] => 13.00 [case] => sharp [chance] => 6.1303387334315 )
Array ( [cost] => 0.60 [case] => sharp [chance] => 0.27614138438881 )
Array ( [cost] => 0.60 [case] => sharp [chance] => 0.27614138438881 )
Array ( [cost] => 0.60 [case] => sharp [chance] => 0.27614138438881 )
Array ( [cost] => 0.12 [case] => sharp [chance] => 0.055228276877761 )
Array ( [cost] => 0.12 [case] => sharp [chance] => 0.055228276877761 )
Array ( [cost] => 0.12 [case] => sharp [chance] => 0.055228276877761 )
Array ( [cost] => 0.12 [case] => sharp [chance] => 0.055228276877761 )
Мне в голову приходить только домножение на N и выбор с помощью rand(1, 100 * N), но не думаю что данный способ является корректным.
PHP задачи с собеседований
👍5
👨🏻💻 Ошибка bcdiv(): Argument #1 ($num1) is not well-formed
Помогите пожалуйста пофиксить данную ошибку
Данные приходят с внешнего api в float формате, цель сделать из float строку и обрезать в конце нули (чтобы также прогонять подобные строки '0.5450000' => '0.545')
Помогите пожалуйста пофиксить данную ошибку
Данные приходят с внешнего api в float формате, цель сделать из float строку и обрезать в конце нули (чтобы также прогонять подобные строки '0.5450000' => '0.545')
<?php
function to_string($value, $fix = 12) {
$string = bcdiv($value, 1, $fix);
return $string = $fix > 0 ? rtrim(rtrim($string, '0'), '.') : $string;
}
$result = to_string(1.5);
echo gettype($result) .' '. $result; // string 1.5
$result = to_string(1.0E-6); // Ошибка bcdiv(): Argument #1 ($num1) is not well-formed
echo gettype($result) .' '. $result;
PHP задачи с собеседований👨🏻💻 Реальная проблема реального человека
Как здесь правильно исползовать language?
Я новичок здесь и не знаю, почему это показывает, так ☺️
Устарело: создание динамического свойства Language::$languages устарело в C:\xampp\htdocs\test\class.Language.php в строке 8
Как здесь правильно исползовать language?
Я новичок здесь и не знаю, почему это показывает, так ☺️
Устарело: создание динамического свойства Language::$languages устарело в C:\xampp\htdocs\test\class.Language.php в строке 8
function detectLanguage()
{
global $DEFAULT_LANGUAGE;
if ($_SERVER['HTTP_ACCEPT_LANGUAGE']) {
$this->languages = $_SERVER['HTTP_ACCEPT_LANGUAGE']; /*Здесь ошибка*/
$this->language = substr($this->languages, 0, 2); /* И Здесь ошибка*/
return $this->language;
} else if ($_SERVER['HTTP_USER_AGENT']) {
$this->user_agent = explode(";", $_SERVER['HTTP_USER_AGENT']);
for ($i = 0; $i < sizeof($this->user_agent); $i++) {
$this->languages = explode("-", $this->user_agent[$i]);
if (sizeof($this->languages) == 2) {
if (strlen(trim($this->languages[0])) == 2) {
$size = sizeof($this->language);
$this->language[$size] = trim($this->languages[0]);
}
}
}
return $this->language[0];
} else {
$this->language = $DEFAULT_LANGUAGE;
return $this->language;
}
}
PHP задачи с собеседований👍1
👨🏻💻 Не получается создать проект на PHP Laravel
При создании проекта на Laravel возникает ошибка:
PHP задачи с собеседований
При создании проекта на Laravel возникает ошибка:
Problem 1 - laravel/framework[v10.10.0, ..., v10.12.0] require league/flysystem ^3.8.0 -> satisfiable by league/flysystem[3.8.0, ..., 3.15.1]. - league/flysystem[3.3.0, ..., 3.14.0] require league/mime-type-detection ^1.0.0 -> satisfiable by league/mime-type-detection[1.0.0, ..., 1.11.0]. - league/flysystem[3.15.0, ..., 3.15.1] require league/flysystem-local ^3.0.0 -> satisfiable by league/flysystem-local[3.15.0]. - league/mime-type-detection[1.0.0, ..., 1.3.0] require php ^7.2 -> your php version (8.2.6) does not satisfy that requirement. - league/mime-type-detection[1.4.0, ..., 1.11.0] require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension. - league/flysystem-local 3.15.0 require ext-fileinfo * -> it is missing from your system. Install or enable PHP's fileinfo extension. - Root composer.json requires laravel/framework ^10.10 -> satisfiable by laravel/framework[v10.10.0, v10.10.1, v10.11.0, v10.12.0]. To enable extensions, verify that they are enabled in your .ini files: - C:\Program Files\PHP\php.ini You can also run php --ini in a terminal to see which files are used by PHP in CLI mode. Alternatively, you can run Composer with --ignore-platform-req=ext-fileinfo to temporarily ignore these required extensions.Версия PHP: 8.2.6
PHP задачи с собеседований
👎1
👨🏻💻 Почему The command \"passport:install\" does not exist.?
при запуске приложения
а когда хочу чтобы эта команда сработала так то выдает ошибку
при запуске приложения
php artisan passport:installв консоли все выполняется
а когда хочу чтобы эта команда сработала так то выдает ошибку
Route::post('/cli-passport-install', function () {
Illuminate\Support\Facades\Artisan::call('passport:install');
return new Illuminate\Http\JsonResponse([], 204);
});
PHP задачи с собеседований👍2
👨🏻💻 Как исключить добавление ключа внутри объявления массива при определенных условий?
Можно ли как то исключить добавление ключа внутри объявления массива при определенных условий?
Можно ли как то исключить добавление ключа внутри объявления массива при определенных условий?
<?phpНиже пример, пробовал делать так, но там очень много подобных значений, как итог вариант не подходит:
$array = [];
foreach ($orders as $order) {
$array[] = [
'account-id' => $order['account_id'],
'price' => $order['price'], // если $order['price'] === '0' то исключить этот ключ
'amount' => $order['amount'],
// Ключей и значений много и много подобных проверок
];
}
$request = $this->request($this->api_host .'v1/order', 'POST', $array);
<?php
$array = [];
foreach ($orders as $order) {
if ($order['price'] === '0') {
$array[] = [
'account-id' => $order['account_id'],
'amount' => $order['amount'],
];
} else {
$array[] = [
'account-id' => $order['account_id'],
'price' => $order['price']
'amount' => $order['amount'],
];
}
}
$request = $this->request($this->api_host .'v1/order', 'POST', $array);
PHP задачи с собеседований👨🏻💻 Как вывести остальные элементы из таблицы в БД MySql?
Проблема лишь в том, что выводит последний элемент из таблицы "ingredient", а первый игнорирует, не могу понять как отобразить его на экране в <Input>.
У меня есть таблица, которая связана с другой, и когда я вывожу элементы с индексом 1 (у меня две записи с индексом 1, и одна запись с индексом 2), он выбирает последний с индексом 1 и выводит его.
Как вывести первый элемент? Я пытался сделать это методом explode, но так получается, что у обоих записей меняется ключ на 0.
Проблема лишь в том, что выводит последний элемент из таблицы "ingredient", а первый игнорирует, не могу понять как отобразить его на экране в <Input>.
У меня есть таблица, которая связана с другой, и когда я вывожу элементы с индексом 1 (у меня две записи с индексом 1, и одна запись с индексом 2), он выбирает последний с индексом 1 и выводит его.
Как вывести первый элемент? Я пытался сделать это методом explode, но так получается, что у обоих записей меняется ключ на 0.
<?php $sql = "SELECT * FROM `Ingredient` WHERE id_ingr = '1'";PHP задачи с собеседований
if($result = $conn2->query($sql)){
foreach($result as $row ){
$ingredient = $row['ingredient'];
}
}
?>
<input type="checkbox" class="checkbox" name ="checkboxx[]" value="<?php $ingredient?>" id="checkbox1" checked/><label class="label" for="checkbox1"><?php echo $ingredient ;?></label>
PHP Academy — в телеграм!
PHP - один из самых популярных языков веба, он применяется в более чем 40% всех сайтов мира и достаточно прост в освоении.
Вывести свои навыки веб-разработки на новый уровень на практике, помогут авторы канала, которые пишут код, изучают библиотеки за вас и дают резюме, собирают бесплатные книги и курсы по PHP и делятся с подписчиками.
Стоит подписаться: @phpshka
PHP - один из самых популярных языков веба, он применяется в более чем 40% всех сайтов мира и достаточно прост в освоении.
Вывести свои навыки веб-разработки на новый уровень на практике, помогут авторы канала, которые пишут код, изучают библиотеки за вас и дают резюме, собирают бесплатные книги и курсы по PHP и делятся с подписчиками.
Стоит подписаться: @phpshka
👍5🔥1🎉1
👨🏻💻 Не получается отловить исключение при валидации Codeigniter 4
Отправляю json методом post на контроллер через curl. В контроллере написано следующее:
Это происходит если приходят данные, не во вложенном массиве:
"Argument 2 passed to _array_search_dot() must be of the type array, string given, called in /codeigniter/system/Helpers/array_helper.php on line 56:
PHP задачи с собеседований
Отправляю json методом post на контроллер через curl. В контроллере написано следующее:
tryОжидаемый верный декодированный массив:
{
$input = $this->request->getJSON(true);
$this->validation->setRules([
'arrayValues.*.someId' => 'trim|required|string'
]);
$this->validation->run($input);
}
catch (\Exception $e)
{
$result = false;
}
$decodedArray = ['arrayValues' => [['someId' => 'qwe'],['someId' => 'ewq']]];В результате выполнения получаю ошибку внутри блока try/catch и в блок catch не переходит.
Это происходит если приходят данные, не во вложенном массиве:
"Argument 2 passed to _array_search_dot() must be of the type array, string given, called in /codeigniter/system/Helpers/array_helper.php on line 56:
$decodedArray = ['arrayValues' => ['someId' => 'qwe']];Если приходит пустой массив, то получаю ошибку
/codeigniter/system/Validation/Validation.php(266): trim() -> trim() expects parameter 1 to be string, array given
, но она ловится в try/catch нормально.$decodedArray = ['arrayValues' => []];Почему такое происходит и как от этого избавиться?
PHP задачи с собеседований
👨🏻💻 Не читает поля из файла XML
К тегу <Ид> не возможно обратится, скорее всего из-за кириллицы. Как можно исправить проблему или ее тут нет и мне нужно отдохнуть? <?php include 'unicode.inc';
К тегу <Ид> не возможно обратится, скорее всего из-за кириллицы. Как можно исправить проблему или ее тут нет и мне нужно отдохнуть? <?php include 'unicode.inc';
$xml_file = 'test.xml';PHP задачи с собеседований
$xml = simplexml_load_file($xml_file);
$xml="<?xml version='1.0' encoding='UTF-8'?>
// Приводим значения полей тега <Ид> к числовым значениям
$ids = [];
foreach ($xml->('Ид') as $id) {
$numeric_id = preg_replace('/[0-9]/', ' ', $id);
$id[0] = intval($numeric_id);
$ids[] = $id;
}
// Сохраняем изменения в новом файле
$date = date('Y-m-d');
$output_file = "test-$date.xml";
$xml->asXML($output_file);
echo "Файл $output_file успешно создан\n";
?>
👍6
👨🏻💻 Я пытаюсь получить данные из таблицы MySQL, но вылезает одна из этих ошибок:
PHP задачи с собеседований
mysql_fetch_array() expects parameter 1 to be resource, boolean givenили
mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean givenВот мой код:
$username = $_POST['username'];Кто-нибудь знает, как решить эту проблему?
$password = $_POST['password'];
$result = mysql_query("SELECT * FROM Users WHERE UserName LIKE $username");
while($row = mysql_fetch_array($result))
{
echo $row['FirstName'];
}
PHP задачи с собеседований
👎3
👨🏻💻Изминения значение параметра в url по нажатию на ссылку
У меня есть такая таблица:
PHP задачи с собеседований
У меня есть такая таблица:
echo "<table border='1'>";Мне нужно по нажатию на ссылку, что бы менялся параметр direction на 0 или 1. Считать значение direction я могу, но как правильно изменить и записать его новое значение - в этом проблема.
echo "<tr>
<th><a href='?sort=1&direction=1'>Название продукта</a></th>
<th><a href='?sort=2&direction=1'>Цена в грн</a></th>
<th><a href='?sort=3&direction=1'>Количество (кг/шт)</a></th>
<th><a href='?sort=4&direction=1'>Стоимость в грн</a></th>
<th>Действие</th>
</tr>";
PHP задачи с собеседований