Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (24)

Лучшие ответы пользователя

Все ответы (52)
  • Как загрузить файл на сервер через ссылку?

    @ugodrus
    function downloadFile ($URL, $PATH) {
        $ReadFile = fopen ($URL, "rb");
        if ($ReadFile) {
            $WriteFile = fopen ($PATH, "wb");
            if ($WriteFile){
                while(!feof($ReadFile)) {
                    fwrite($WriteFile, fread($ReadFile, 4096 ));
                }
                fclose($WriteFile);
            }
            fclose($ReadFile);
        }
    }

    Метод отлично работает на больших объемах.
    Можете также реализовать через сокеты. Тоже няшка получается.
    Ответ написан
    1 комментарий
  • Стоит ли изучать фреймворк PHP?

    @ugodrus
    Мой совет - продолжать "быдлокодить" еще хотя бы годик.

    Немного своих размышлений на тему фреймворков. Правда нелепо быть свидетелем такого диалога?:
    - А вы бегать умеете?
    - Конечно. Я на костылях очень быстро передвигаюсь.

    То же относится к фреймворкам. Как костыли вызывают атрофию мышц, фреймфорки вызывают атрофию креативного мышления. Фреймворк какой бы он ни был хорошим и удобным ставит вас в определенные рамки мышления и реализации кода. И чем меньше ваш кругозор в том или ином языке (чистом), тем более узким будет ваше видение ваших реализаций внутри фреймворка. И в конечном итоге в один прекрасный момент, столкнувшись с чем-то неординарным в работе, вы скорее всего будете судорожно искать в нете что-то готовое подходящее под ваши задачи, нежели делать это самому, т.к. нить связи с чистым языком у вас уже практически утрачена.

    Я, например, занимаюсь php уже более 10 лет. При мне он развивался и крепчал. Даже без фреймфорков могу написать практически любое приложение. И только в начале этого года я принялся за Laravel. И решение такое было вызвано огромной необходимостью, т.к. занимаюсь разработкой в одиночку (без команды), и в последнее время ко мне стали часто обращаться с достаточно крупными проектами, требующими особого подхода в реализации, и вариант с готовой CMS там не прокатит, а уж тем более с системой свёрстанной "на коленке".

    Вообще, на мой взгляд, фреймворк - это больше зло чем добро. Очень много минусов в сторону производительности. Но есть два огромных плюса которые сильно компенсируют эти недостатки - это удобство коллективной разработки за счёт структуры приложения и стандартизации кода, и второй плюс - достаточно быстрый старт любого проекта, благодаря наличию в нем огромного количества готовых плюшек. Ваша задача при разработке лишь собрать ваш велосипед из уже готовых деталей и дописать лишь недостающие связующие элементы.

    Фреймворк - последняя инстанция хорошего программера. Пока не научитесь бегать самостоятельно -не советую браться за костыли.
    Ответ написан
    8 комментариев
  • Как правильно учиться PHP / mySQL?

    @ugodrus
    Я сам когда-то покупал книги по вэбу. Году в 2000. Поверьте моему опыту, всё это бред. Единственные книги который остались настольными - HTML и CSS справочники и Apache 2 библия пользователя. До сих пор иногда заглядываю. Хотя написанное в них уже серьёзно (но не критично) устарело. Есть ещё пара книг не потерявших актуальности в частности MySQL Справочник по языку и Регулярные выражения.
    Мой совет только один - практика. Ставим задачу и решаем. Настоятельно рекомендую на начальном этапе не пользоваться готовыми платформами типа Denver и т.п. Опыт в конфигурировании обязательно должен быть. Лучший источник - официальная документация по языку. Благо на php.net много различных примеров. На MySQL правда примеров меньше. Зато есть куча форумов где можно задать вопрос и получить хороший ответ.
    Ответ написан
    Комментировать
  • PHP Единая точка входа?

    @ugodrus
    Ничего удивительного. Вы передаете переменную через ГЕТ key=1
    Внутри PHP $_SERVER['REQUEST_URI'] = /login/?key=1
    Далее по коду
    $page = 'login/?key=1'; 
    if (file_exists("all/login/?key=1.php")) 
      include "all/login/?key=1.php"; 
      else if ($_SESSION['logged_user'] and file_exists("auth/login/?key=1.php"))
      include "auth/login/?key=1.php";
      else if (!$_SESSION['logged_user'] and file_exists("guest/login/?key=1.php"))
      include "guest/login/?key=1.php";
      else
      header('Location: /404');

    Не думаю что у вас в auth/login/ найдется файл ?key=1.php
    Не знаю с каких времён у вас такая дремучая конструкция. Такие городулины со времени похорон 4.3 не практиковал и не встречал.
    Вердикт один - либо подбирайте другую переменную с корректным значением $page. Либо чистите эту. Убирая лишнее и анализируя подходит ли значение после фильтрации.
    Ответ написан
    4 комментария
  • В чем разница между session_name() и session_id() ?

    @ugodrus
    @dez-fafara: Несколько некорректный ответ. Если посмотреть как отражается сессия в COOKIE то сессия представляет собой пару Ключ -> Значение. Где Ключ - это имя сессии, а Значение - её уникальный номер в системе, тоторый обычно создается через md5 алгоритм по времени инициализации сессии. В среде PHP ключ ( или имя сессии ) - это наименование переменной окружения в которой хранится уникальный номер сессии. По умолчанию Имя сессии в PHP - PHPSESSID. Функции session_name() и session_id() работают с Именем сессии и её номером. Обе могут принимать новые значения и отдавать текущие (запуск функций с параметром и без). Обе должны быть вызваны до начала работы с данными сессии. Их можно и не трогать, если настройки по умолчанию для хранения сессий вас устраивают, поскольку session_start() самостоятельно присваивает как имя, так и идентификатор сессии. Если данных о сессии нет (переменной с именем сессии не установлено) то создается новый Id. Если переменная есть, то session_start() продолжает вести уже существующую сессию.
    Ответ написан
    4 комментария