Задать вопрос
Ответы пользователя по тегу PHP
  • Как генерировать png на 300 точек в php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    DPI это условный параметр, который высчитывается в привязке к материальным размерам, реальных же параметров цифровой картинки всего два - ширина и высота в точках. Извращенные штуки а-ля пиксел ратио в расчет не берем. По этому берете ширину/высоту конечного изделия в см, переводите в дюймы и умножаете на 300, получите количество точек по соответствующей стороне.
    Ответ написан
    Комментировать
  • При загрузке вертикальных фото переворачивает в горизонт. Как убрать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    проблема скорее всего в exif самих файлов, а не в коде, попробуйте удалить exif перед заливкой.
    Ответ написан
  • Стоит ли переписывать полностью метод в данной ситуации?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вариантов 3:
    1) Добавить параметр: плюсы - просто, можно добавить гибкий параметр, например $sortField. минусы - в следующий раз понадобится менять еще и направление сортировки - прийдется снова костылить.
    2) Отдельный метод - уже лучше, но все равно рано или поздно функционал надо будет менять и с параметрами что -то прийдется делать.
    2.1) Передавать в качестве аргумента некий массив/объект настроек, плюсы - гибко, минусы - каждый раз надо учитывать/знать структуру объекта настроек, что не очень удобно.
    3) Использовать внутренние паблик свойства объекта для настройки работы логики объекта, плюсы - не надо менять инерфейс вызова, достаточно сделать
    $users->sortBy = 'order'; $users->sortDir = 'desc'; $users->getUsers();
    . Минусы - сходу не вижу, у кого есть идеи - отпишитесь в комментах.
    Ответ написан
  • Нужно ли разделять модель с выводом данных и поиском?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    имхо хорошим стилем будет использование коллекций для множественного выбора. Что-то типа
    $customers = new Collection(new Customer());
    $customers->createCollectionByFields(array('somefield'=>'somevalue'));
    $customersArray = $customers->getArray(); //return array of objects
    Ответ написан
  • Почему не отрабатывает ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    просто загружается пустая страница с dost.php.
    что не удивительно, форма просто субмитится, никакой аякс у вас просто не успевает обработаться, как это предотвратить я вообще то с комментариями расписал в вашем прошлом вопросе.
    как проверять что происходит:
    для яваскрипта есть 2 варианта:
    a) нубский вариант - alert('some string'); в принципе позволяет понять что и куда пришло в ходе выполнения скрипта
    б) тру подход - console.log(some_var); - выводит в консоль браузера подробную информацию о переменной
    Далее - в целом инструменты разработчика в хроме(F12) или например фаерфоксе, которые отслеживают много чего, их вы должны знать хотя бы в общих чертах, почитайте как работать с ними, материала масса.
    Теперь - что и куда(и как) отправляется:
    Вкладка нетворк в инструментах разработчика показывает все запросы по сети(включая закэшированные), их можно отфильтровать по типам, что очень удобно для отслеживания например именно аякс запросов. В составе каждого запрошенного элемента в частности есть метод, урл, данные и ответ сервера. По нему можно смотреть что отвечал сервер в ответ на аякс, не нужно никаких файлов и прочей хрени, просто смотрим ответ сервера.
    На стороне пхп - ПЕРВЫМ ДЕЛОМ если мы отсылаем какие-то данные мы проверяем в каком виде они пришли, то есть первой строчкой при отладке делаем var_dump($_POST); exit; и смотрим что пришло к серверу.
    Ответ написан
  • Как пробросить UTM метки внутри сайта?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Да в сессию засуньте и все, дальше все движения элементарно отслеживаются. Хотите следить при последующих заходах - пишите в куки / локалстораж.
    Ответ написан
  • Как сделать preloader в php до загрузки html?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    есть вариант без аякса:
    1) делаете ссылку на страничку с прелоадером, то есть весь контент - только прелоадер
    2) Делаете на ней js: location.href = 'урл с гет параметрами который долго грузится'
    3) Profit! пока пхп не отдаст содержимое страницы с вашими тяжелыми запросами будет крутиться прелоадер, потом сразу загрузится вся тяжелая страничка.
    Ответ написан
    Комментировать
  • Как лучше реализовать обработку форм на php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Наиболее оптимальным решением будет взять нормальный фреймворк, коих сейчас более чем достаточно(тот же Yii). Практически во всех имеется компонент форм, который автоматически построит форму с нужными полями и сам же возьмет на себя задачу валидации, как на стороне клиента, так и на серверсайде. Что, впрочем, не мешает использовать эти компоненты отдельно от движка в своем проекте.
    Ответ написан
  • Какое максимальное количество потоков реально выставить для curl?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    У вас проблемы с арифметикой за 4 класс?
    50000/30 = 1666,(6) ~ 1667;
    1667/60 = ~28(запросов в секунду надо выполнить)
    если запрос выполняется более секунды - умножаете 28 на количество секунд запроса.
    Ответ написан
    Комментировать
  • Почему может возникать ошибка curl_setopt(): supplied resource is not a valid cURL handle resource?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую что ошибка вываливается когда вы делаете 2 запроса используя 1 созданный объект ) Я бы на вашем месте не выносил инит в конструктор )

    Разве не достаточно проверки if (!$this->_ch) {...}

    там может быть например 1, что удовлетворяет условию, но нифига не ресурс. ЕМНИП is_resource будет как минимум правильнее. Но смысла особого в этой проверке нет.
    Ответ написан
  • Отправка данных по ajax на контроллер php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Проверил запрос уходит на сервер,а в контроллере эти данные получить не могу.

    Для этого нужно понимать основы дебаггинга, надо пройтись по всей цепочке отправки /обработки данных:

    1) проверить что вы получаете в переменные в яваскрипт функции, вынести переменную data до аякс запроса, сформировать ее и вывести в консоль. Кроме того у вас имена свойств в data без кавычек.
    2) Проверить не только что запрос к серверу уходит, но и какие данные он передает и что возвращает(вкладка network)
    3) В экшене первой строчкой пропишите var_dump($_POST);exit();. Это сразу даст понять приходит ли в экшн что-то вообще.

    Дальше вариантов уже много что у вас может быть не так, так что думайте самостоятельно.
    Ответ написан
    Комментировать
  • Как отобразить лишь одно значение из массива?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if(!empty($balance['accounts'][0]['hasBalance'])){
    echo $balance['accounts'][0]['balance']['amount'];
    }
    Ответ написан
    1 комментарий
  • Как правильно настроить обработку больших текстовых файлов на сервере, используя php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    вроде вам прямая дорога в еластиксерч.
    Ответ написан
  • Можно ли использовать простые функции внутри класса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Сделайте статический класс хелпер и вынесите туда все ваши функции.
    Ответ написан
    Комментировать
  • Можно ли получить значение data атрибутов в переменную php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    и числовой результат передавался на сервер, чтобы вытащить определенный контент из базы по этому параметру.
    тут вопрос - что вы будете делать с контентом из базы?

    Если это отдельная страница - то вам нужна форма, поле куда вы будете записывать полученное значение и при субмите формы уже обрабатывайте на сервере полученное значение.

    Если оно должно динамически изменять контент на текущей странице - аякс запрос на скрипт(у вас он вроде верный, не хватает обработчика ответа), скрипт уже формирует данные и отдает в ответ на аякс запрос по вкусу - кусок хтмл или json данные, смотрите с чем вам удобнее будет оперировать.
    Ответ написан
    3 комментария
  • Как оптимизировать преобразование PDF в PNG?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Зачем такое разрешение - 300 дпи? Это критично? Поставьте 100-150, для экрана это более чем достаточно.
    2) Выделите обработку в отдельный скрипт и запускайте из консоли в отдельном потоке каждую страницу - консольные приложения не имеют ограничения по времени исполнения, с другой стороны - на шареде может не поддерживаться cli.
    3) Замер тайминга не делали? Что из операций отжирает ресурс? Сначала бы определить что оптимизировать...
    4) Неплохо после обработки использовать clear
    Ответ написан
  • Как сделать чтобы у каждого цикла был свой рейтинг правильно написать ajax запрос?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Используйте нормальные переменные, и вам легче будет и другим читать без матюков станет возможным. Ну что за название переменных ya, as? summa и reiting тоже доставляют, неужели лень посмотреть как это по английски пишется? Двойная польза - и язык учите и чтаемость повышаете же.
    2) Не понятна проблема, как вам указали в комментарии - это параметр у вас уже есть в первоначальной выборке, зачем вы его тащите аяксом - загадка.
    3) function film(){...} - те же ошибки - во первых что за название? Что делает эта функция? Фильм? Вы что, из принципа экономите буквы? Нельзя нормально написать function getMovieRate(movieId){...}?
    4) В большинстве случаев надо пользоваться "чистыми" функциями, то есть(упрощенно) функция не должна менять окружение, она должна принимать параметры и возвращать результат. У вас же она что-то мутит с элементами не принимая никаких параметров...

    Это все конечно лирика, и я подозреваю что у вас задача какая-то другая нежели просто вывести рейтинг, но вы ее описали крайне непонятно. Попробуйте прочесть свой вопрос и сформировать внятные требования - что есть, что работает, что не работает(или что работает не так) и что в итоге надо получить.
    Ответ написан
    Комментировать
  • Что не так со скриптом, если PHP всё время получает 0 от БД?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вообще то магия вне Хогвардса запрещена, по этому ищите материальные причины:
    1) Проверьте что попадает в запрос, просто выведите строку в ехо:
    echo "SELECT `id` FROM `users` WHERE `name` = '$fullname' AND `password` = '$password'";

    2) вставьте в консоль мускуля или в пхпмайадмин эту строку и посмотрите что вернет запрос(скорее всего уже на первом шаге будет ясно что там какая-то лажа)
    3) Проверьте что в базе реально есть такая строка которая соответствует запросу(опять же, скорее всего косяк где-то в пп1-2 и к этому шагу вы не дойдете)

    PS: логин с паролем в куках - это сильно )
    Ответ написан
    Комментировать
  • Как исправить ошибку синтаксиса?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Каждая строка пхп заканчивается ;
    И где тут про капчу?
    Ответ написан
    Комментировать
  • Как в PHP работает видимость класса, на моём примере?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    в этом же шаблоне (index.phtml) я могу написать например $test = new Home; var_dump($test); и это работает.

    Так как вью у вас инклудит в себя шаблон для рендера, все что находится в шаблоне будет восприниматься как контекст вью, соответственно все что можно делать из вью можно и из шаблона(но не нужно).
    Ответ написан
    Комментировать