Ответы пользователя по тегу PHP
  • Результат работы функции в качестве аргумента?

    @LionG
    Нет. Это рофл.

    Хотя зависит от того принимает ли принимающая функция все варианты ответов (типов) вызываемой. Например если вызываемая getAllUsers вернет false (boolean) может случиться фаталка тк array_keys принимает только (array) массив. Но в таком случае можно сделать такую проверку:

    array_keys(getAllUsers() ?: []);//если положительный ответ то его иначе (по умолчанию) пустой массив


    Либо если функция ваша можно внутри getAllUsers всегда возвращать массив и в случае если пользователей нет то пустой.
    Ответ написан
    1 комментарий
  • Как в Docker + Nginx + PHP-Fpm получить реальный IP пользователя?

    @LionG
    http {
      ...
      # FIX REAL IP
      real_ip_header X-Forwarded-For;
      set_real_ip_from 0.0.0.0/0;
      ...
    }
    Ответ написан
    Комментировать
  • Я разучился понимать работу кода?

    @LionG Автор вопроса
    magic это статическая строка хранимая в БД
    get_option - по сути лезет в БД и получает значение по ключу my_some_var

    Проблема была как то связанна с mysql ошибкой out of sync. Как только ее пофиксил такого больше не повторялось. Не понятно только откуда тогда magic брался если БД вернула ошибку, хотя get_option не так прост и там кеширование какое то есть, скорее всего реально либо с кодировкой что то либо лишние символы добавлялись когда значение из кеша бралось когда БД возвращала ошибку.
    Ответ написан
    Комментировать
  • Скажите пожалуйста, как сделать вот такой кликер?

    @LionG
    Может не sumbit, а все таки submit ?

    При этом хочу заметить что submit это тип поля ввода - "кнопка"... <input type="submit" name="do_sum">
    В $_POST передается не тип поля ввода, а его имя. Если взять мой пример то это будет $_POST["do_sum"].
    Ответ написан
  • Почему не работает SOCKS5 с авторизацией в Curl PHP (по таймауту возвращает код 0)?

    @LionG Автор вопроса
    Заработало.
    function request_file_get_contents_gzip_proxy($url, $proxy) {
    		$ch = curl_init();
    		curl_setopt($ch, CURLOPT_URL, $url);
    		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)');
    		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    		curl_setopt($ch, CURLOPT_TIMEOUT, 8);
    		curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 8);
    		curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    		curl_setopt($ch, CURLOPT_PROXY, $proxy['ip'].':'.$proxy['port']);
    		if (isset($proxy['user']) && isset($proxy['pass']) && $proxy['user']!='' && $proxy['pass']!='') {
    			curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy['user'].":".$proxy['pass']);
    		}
    		$result = curl_exec($ch);
    		$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    		curl_close($ch);
    		return ['result' => $result, 'code'=>$httpcode];
    	}
    Ответ написан
    Комментировать