Найдено результатов: 302

Как создать бесконечную сессию в Codeigniter

Объясните пожалуйста, как сделать так, чтобы сессия никогда не разрушалась. 

codeigniter   php   сессии  

151   1   16:11, 14th July, 2020


URI you submitted has disallowed characters. Как исправить ошибку??

Когда захожу в следующую сслыку site.com/@sdf+     выводит ошибку. Как мне её исправить. 

codeigniter   php  

125   2   15:09, 22nd July, 2020


Как мне узнать с какого устройства зашел посетитель на сайт. Напишите код на PHP.

У меня есть блок кода, который не должен показываться, когда посетитель заходит на сайт с телефона. Как мне это сделать.

 

php  

127   1   16:15, 24th July, 2020


Лучший способ разрешить плагины для приложения PHP

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

Как можно написать 'hooks' в свой код, чтобы Плагины могли прикрепляться к определенным событиям?

php   plugins   architecture   hook    

178   8   16:03, 1st July, 2020


Базы данных плоских файлов

Каковы наилучшие методы создания структур базы данных плоских файлов в PHP?

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

Есть ли какие-то элегантные трюки, чтобы получить хорошую производительность и функции с небольшими накладными расходами кода?

php   sql   database   flat-file    

118   11   16:03, 1st July, 2020


Как получить доступ к свойствам объекта из метода объекта?

Каков "purist" или "correct" способ доступа к свойствам объекта из метода объекта, который не является методом getter/setter?

Я знаю, что снаружи объекта вы должны использовать getter/setter,, но изнутри вы бы просто сделали это:

Java:

String property = this.property;

PHP:

$property = $this->property;

или ты бы так и сделал:

Java:

String property = this.getProperty();

PHP:

$property = $this->getProperty();

Простите меня, если мой Java немного не в порядке, прошел год с тех пор, как я программировал в Java...

EDIT:

Похоже, люди предполагают, что я говорю только о частных или защищенных переменных / свойствах. Когда я узнал ОО, меня научили использовать геттеры/сеттеры для каждого отдельного свойства, даже если оно было общедоступным (и на самом деле мне сказали никогда не делать никакой переменной/свойство общедоступным). Итак, я, возможно, начинаю с ложного предположения с самого начала. Похоже, что люди, отвечающие на этот вопрос, возможно, говорят, что вы должны иметь общественные свойства и что они не нуждаются в геттерах и сеттерах, что противоречит тому, чему меня учили, и тому, о чем я говорил, хотя, возможно, это тоже нужно обсудить. Хотя это, вероятно, хорошая тема для другого вопроса...

java   php   oop   theory    

127   18   16:03, 1st July, 2020


Как отслеживать загрузку файлов

У меня есть сайт, который играет MP3 в плеере flash. Если пользователь нажмет кнопку 'play', то flash плеер автоматически загрузит mp3 и начнет его воспроизведение.

Есть ли простой способ отслеживать, сколько раз был загружен конкретный клип песни (или любой двоичный файл)?


Является ли ссылка на игру ссылкой на фактическое mp3 файл или к некоторому javascript коду вот и выскакивает игрок?

Если последнее, вы можете легко добавить свой собственный код регистрации там, чтобы отслеживать количество попаданий в него.

Если первое, то вам что-то понадобится это может отслеживать журнал веб-сервера сама и делаю это различие. Мой хостинг план поставляется с webalizer, что делает это очень мило.

Это код javascript, так что это ответ на этот вопрос.

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

php   apache   logging   download   analytics    

145   8   16:03, 1st July, 2020


Как лучше всего создать тег cloud из массива, используя h1-h6 для определения размера?

У меня есть следующие массивы:

$artist = array("the roots", "michael jackson", "billy idol", "more", "and more", "and_YET_MORE");
$count = array(5, 3, 9, 1, 1, 3);

Я хочу сгенерировать тег cloud, который будет содержать исполнителей с более высоким числом в $count , вложенных в h6 тегов, и с самым низким вложенным h1 тегов.

php   arrays   cloud   tag-cloud    

123   8   16:03, 1st July, 2020


PHP Безопасность Сеанса

Каковы некоторые рекомендации по поддержанию ответственной безопасности сеанса с PHP? Есть информация по всему интернету, и это о времени, когда все это приземлилось в одном месте!

security   php    

123   13   16:03, 1st July, 2020


Лучший способ получить доступ к Exchange с помощью PHP?

Я пишу приложение CMS в PHP, и одно из требований заключается в том, что оно должно иметь возможность взаимодействовать с сервером Exchange клиента. Я уже несколько раз писал эту функциональность и всегда использовал для этого WebDAV , но теперь я склоняюсь к этому.

Я буду запускать сайт на IIS или Apache (без предпочтений) на Windows server 2008. Несколько вещей, которые мне нужно было бы сделать, включают добавление контактов в адресную книгу данного пользователя, отправку электронной почты от имени данного пользователя и запуск отчетов о контактах для пользователя.

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

Есть какие-нибудь идеи?

Обновление:

Джастин, мне нравится идея использования объектов com, я просто беспокоюсь о поддержании 3-го продукта,чтобы все работало...

Джон, я могу написать веб-сервис в C# для взаимодействия с этими функциями и получить доступ к нему с помощью моего приложения PHP,но это также немного не так.

До сих пор я не уверен, что любой из них лучше, чем WebDAV...

Может ли кто-нибудь показать мне, где я веду себя глупо?

php   windows   exchange-server   webdav   mapi    

152   9   16:03, 1st July, 2020


Шифрование Паролей

Каков самый быстрый, но безопасный способ шифрования паролей в (предпочтительно PHP), и для какого метода вы выбираете, является ли он портативным?

Другими словами, если я позже перенесу свой сайт на другой сервер, будут ли мои пароли продолжать работать?

Метод, который я использую сейчас, как мне было сказано, зависит от точных версий библиотек, установленных на сервере.

php   encryption   passwords    

131   7   16:03, 1st July, 2020


Соедините PHP с IBM и (AS/400)

У меня есть предстоящий проект, в котором мне нужно будет подключить наш веб-сайт ( PHP5/Apache 1.3/OpenBSD 4.1 ) к нашей серверной системе, работающей на iSeries с OS400 V5R3, чтобы я мог получить доступ к некоторым таблицам, хранящимся там. Я кое-что проверил вокруг, но наткнулся на несколько блокпостов.

Из того, что я видел, расширения DB2 и программное обеспечение DB2 от IBM работают только под Linux. Я попытался скомпилировать расширения со всем программным обеспечением от IBM и даже попробовал их предварительно скомпилированное расширение ibm_db2, но безуспешно. IBM поддерживает только Linux, поэтому я включил эмуляцию Linux в kernel, но это, похоже, ничему не помогло.

Если кто-то столкнулся с тем, что все работает изначально под OpenBSD, это было бы здорово, но я думаю, что мне нужно будет сделать, это настроить второй сервер под управлением CentOS с установленным DB2 (скорее всего, через ZendCore для IBM, так как он, похоже, делает все это для меня) и драйвер, чтобы я мог настроить небольшой сервер транзакций, который я могу разместить и получить представление JSON данных DB2, которые мне нужны.

Может быть, второй вариант кажется излишним или у кого-то еще есть идеи получше?

php   database   odbc   db2   ibm-midrange    

116   8   16:03, 1st July, 2020


Передаются ли переменные PHP по значению или по ссылке?

Передаются ли переменные PHP по значению или по ссылке?

php   variables   pass-by-reference   pass-by-value    

185   13   16:03, 1st July, 2020


Как вы отлаживаете PHP скриптов?

Как вы отлаживаете PHP скрипты?

Я знаю об основной отладке, такой как использование отчетов об ошибках. Отладка точки останова в PHPEclipse также весьма полезна.

Каков наилучший (с точки зрения быстрого и легкого) способ отладки в phpStorm или любом другом IDE?

php   eclipse   debugging   phpstorm   xdebug    

194   25   16:03, 1st July, 2020


Сделать XAMPP/Apache служить файл вне htdocs в

Можно ли настроить xampp для обслуживания файла вне каталога htdocs ?

Например, предположим, что у меня есть файл, расположенный следующим образом:

C:\projects\transitCalculator\trunk\TransitCalculator.php

и мой xampp файлов, как правило, подается из:

C:\xampp\htdocs\

(потому что это конфигурация по умолчанию) есть ли какой-то способ заставить Apache распознавать и обслуживать мой файл TransitCalculator.php , не перемещая его под htdocs ? Предпочтительно я хотел бы, чтобы Apache обслуживал/имел доступ ко всему содержимому каталога проектов, и я не хочу перемещать каталог проектов под htdocs .

Редактировать: Редактировать, чтобы добавить Apache на заголовок вопроса, чтобы сделать в более "searchable"

php   apache   xampp   server-configuration    

149   6   16:03, 1st July, 2020


Как я могу получить аутентифицированное имя пользователя под Apache, используя обычную HTTP аутентификацию и PHP?

Во-первых, давайте избавимся от соображений безопасности. Я использую простую аутентификацию под Apache для одноразового, только внутреннего использования, не подключенного к интернету lan, php веб-приложения.

Как я могу получить HTTP аутентифицированное имя пользователя в PHP?

php   apache   authentication   http-authentication    

191   1   16:03, 1st July, 2020


Использование свойства объекта по умолчанию для свойства метода

Я пытаюсь сделать это (что приводит к неожиданной ошибке T_VARIABLE):

public function createShipment($startZip, $endZip, $weight = $this->getDefaultWeight()){}

Я не хочу помещать магическое число туда для веса, так как объект, который я использую, имеет параметр "defaultWeight" , который получают все новые поставки, если вы не укажете вес. Я не могу поместить defaultWeight в саму отгрузку, потому что она изменяется от группы отгрузки к группе отгрузки. Есть ли лучший способ сделать это, чем следующий?

public function createShipment($startZip, $endZip, weight = 0){
    if($weight <= 0){
        $weight = $this->getDefaultWeight();
    }
}

php   parameters   error-handling    

142   4   16:03, 1st July, 2020


Механизмы отслеживания изменений схемы DB

Каковы наилучшие методы отслеживания и / или автоматизации изменений схемы DB? Наша команда использует Subversion для управления версиями, и мы смогли автоматизировать некоторые из наших задач таким образом (перемещение сборок на промежуточный сервер, развертывание тестируемого кода на рабочий сервер), но мы все еще делаем обновления базы данных вручную. Я хотел бы найти или создать решение, которое позволит нам эффективно работать на разных серверах с различными средами, продолжая использовать Subversion в качестве бэкенда, через который код и обновления DB передаются на различные серверы.

Многие популярные программные пакеты включают в себя сценарии автоматического обновления, которые обнаруживают версию DB и применяют необходимые изменения. Является ли это лучшим способом сделать это даже в более крупном масштабе (через несколько проектов, а иногда и через несколько сред и языков)? Если да, то есть ли какой-либо существующий код, который упрощает этот процесс, или лучше всего просто запустить наше собственное решение? Кто-нибудь реализовывал что-то подобное раньше и интегрировал его в Subversion post-commit hooks, или это плохая идея?

Хотя решение, поддерживающее несколько платформ, было бы предпочтительнее, мы определенно должны поддерживать стек Linux/Apache/MySQL/PHP, поскольку большая часть нашей работы находится на этой платформе.

php   mysql   database   svn   migration    

132   20   16:03, 1st July, 2020


Как я могу получить совпадения при использовании preg_replace в PHP?

Я пытаюсь схватить заглавные буквы нескольких слов и обернуть их в теги span. Я использую preg_replace для извлечения и упаковки, но он ничего не выводит.

preg_replace("/[A-Z]/", "<span class=\"initial\">$1</span>", $str)

php   regex   html-parsing   preg-replace    

144   4   16:03, 1st July, 2020


Почему мое тернарное выражение не работает?

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

$canMerge = ($condition1 && $condition2) ? 'true' : 'false';
...
<?php if ($canMerge) { ?>Stuff<?php } ?>

Что случилось?

php   ternary-operator    

118   4   16:03, 1st July, 2020


Легкий IDE для Linux

Несмотря на то, что у меня есть надежный и быстрый компьютер (Pentium Dual Core 2.0 с 2 ГБ RAM), я всегда ищу легкое программное обеспечение, чтобы иметь на нем, поэтому он работает быстро, даже когда многие приложения работают одновременно.

В последние несколько недель я постепенно перешел на Linux и хочу установить бесплатный легкий, но полезный IDE для программирования на C++ и PHP. Подсветка Sintax и советы по завершению кода являются обязательными.

Итак, я хотел бы получить от вас несколько предложений, ребята.

php   c++   linux   ide   freeware    

165   15   16:03, 1st July, 2020


Как включить PHP файлов, которые требуют абсолютного пути?

У меня есть структура каталогов, как показано ниже;

script.php

inc/include1.php
inc/include2.php

objects/object1.php
objects/object2.php

soap/soap.php

Теперь я использую эти объекты как в script.php , так и в /soap/soap.php , я мог бы переместить их, но мне нужна такая структура каталогов по определенной причине. При выполнении script.php путь включения - это inc/include.php , а при выполнении /soap/soap.php -это ../inc, абсолютные пути работают, /mnt/webdev/[project name]/inc/include1.php... , но это уродливое решение, если я когда-нибудь захочу переместить каталог в другое место.

Итак, есть ли способ использовать относительные пути или способ программно генерировать "/mnt/webdev/[project name]/" ?

php    

179   11   16:03, 1st July, 2020


Как легко использовать веб-сервис из PHP

Существует ли какой-либо инструмент для PHP, который можно использовать для генерации кода для использования веб-службы на основе ее WSDL ? Что-то сравнимое с щелчком "Add Web Reference" в Visual Studio или плагином Eclipse, который делает то же самое для Java.

php   web-services   visual-studio   wsdl    

140   7   16:03, 1st July, 2020


Как продать Python в client/boss/person

Когда вас просят создать систему XYZ и вы просите сделать это в Python над PHP или Ruby, какие основные функции вы можете упомянуть, когда они требуют от вас объяснения?

php   python   ruby-on-rails   ruby    

193   8   16:03, 1st July, 2020


Управление версиями PHP веб-проект

У нас есть проект PHP, который мы хотели бы контролировать версии. Прямо сейчас мы втроем работаем над версией разработки проекта, которая находится во внешней папке, к которой привязаны все наши Eclipse IDEs, и поэтому нет контроля версий.

Каков правильный способ и лучший способ для управления версиями этого?

У нас есть настройка SVN, но нам просто нужно найти хороший способ регистрации и выхода, который позволяет нам тестировать на сервере разработки. Есть какие-нибудь идеи?

php   svn   version-control   cvs    

195   8   16:03, 1st July, 2020


Блокировка базы данных сервера SQL с помощью PHP

Мне нужна дополнительная безопасность для определенной точки в моем веб-приложении. Поэтому я хочу заблокировать базу данных (SQL Server 2005). Любые предложения или это даже необходимо с SQL сервером?

Редактировать на вопрос:

Запрос не выполняется в автоматическом режиме без регистрации сообщений об ошибках и не происходит внутри транзакции.

окончательное решение:

Я никогда не мог решить эту проблему, однако то, что я сделал, было переключением на MySQL и использованием запроса транзакционного уровня здесь. Это не было главной или даже основной причиной для переключения. У меня были проблемы с сервером SQL, и это позволило мне иметь наш CMS и различные другие инструменты, работающие на одной базе данных. Ранее у нас был сервер SQL и база данных MySQL, работающая для запуска нашего сайта. Порт был немного трудоемким, однако в долгосрочной перспективе я чувствую, что он будет работать намного лучше для сайта и бизнеса.

php   sql-server   database   sql-server-2005    

161   2   16:03, 1st July, 2020


Блокировка базы данных сервера SQL с помощью PHP

Мне нужна дополнительная безопасность для определенной точки в моем веб-приложении. Поэтому я хочу заблокировать базу данных (SQL Server 2005). Любые предложения или это даже необходимо с SQL сервером?

Редактировать на вопрос:

Запрос не выполняется в автоматическом режиме без регистрации сообщений об ошибках и не происходит внутри транзакции.

окончательное решение:

Я никогда не мог решить эту проблему, однако то, что я сделал, было переключением на MySQL и использованием запроса транзакционного уровня здесь. Это не было главной или даже основной причиной для переключения. У меня были проблемы с сервером SQL, и это позволило мне иметь наш CMS и различные другие инструменты, работающие на одной базе данных. Ранее у нас был сервер SQL и база данных MySQL, работающая для запуска нашего сайта. Порт был немного трудоемким, однако в долгосрочной перспективе я чувствую, что он будет работать намного лучше для сайта и бизнеса.

php   sql-server   database   sql-server-2005    

114   2   16:03, 1st July, 2020


Доступ к атрибуту CONST ряда классов

Вот как я хотел сделать это, что будет работать в PHP 5.3.0+

<?php
    class MyClass
    {
        const CONSTANT = 'Const var';        
    }

    $classname = 'MyClass';
    echo $classname::CONSTANT; // As of PHP 5.3.0
?>

Но я ограничен использованием PHP 5.2.6. Может ли кто-нибудь придумать простой способ имитировать это поведение без создания экземпляра класса?

php   oop    

173   2   16:03, 1st July, 2020


Выполните PHPUnit тестов в определенном порядке

Есть ли способ заставить тесты внутри TestCase выполняться в определенном порядке? Например, я хочу отделить жизненный цикл объекта от создания для использования до уничтожения, но мне нужно убедиться, что объект настроен первым, прежде чем я выполню другие тесты.

php   unit-testing   phpunit    

144   8   20:52, 5th August, 2020


Как я могу найти неиспользуемые функции в проекте PHP

Как я могу найти неиспользуемые функции в проекте PHP?

Существуют ли функции или APIs, встроенные в PHP, которые позволят мне анализировать мою кодовую базу - например, отражение, token_get_all() ?

Достаточно ли богаты эти APIs функции, чтобы мне не приходилось полагаться на сторонний инструмент для выполнения этого типа анализа?

php    

151   9   20:51, 4th August, 2020


Как заставить PHP и MySQL работать на IIS 7.0?

Хорошо, я искал по всему интернету хорошее решение, чтобы заставить PHP и MySQL работать над IIS7.0. Это почти невозможно, я столько раз пробовал это сделать, но все было напрасно. Пожалуйста, помогите, связав некоторые большие учебники step-by-step с добавлением PHP и MySQL на IIS7.0 с нуля. PHP и MySQL необходимы для установки любого CMS.

php   mysql   iis-7    

186   7   04:30, 28th August, 2020


PHP / cURL on Windows install: "указанный модуль не удалось найти."

Я запускаю PHP 5.2.3 на сервере Windows 2000 с IIS 5. Я стараюсь чтобы заставить cURL работать, поэтому в моем файле php.ini у меня есть эта строка:

extension_dir = " F:\PHP\ext"

А позже, у меня есть:

расширение=php_curl.dll

Файл F:\PHP\ext\php_curl.dll существует, но когда я пытаюсь запустить любой PHP скрипт, я получаю это в журнале ошибок:

PHP предупреждение: PHP запуск: не удается загрузить динамическую библиотеку ' F:\PHP\ext \php_curl.dll'-указанный модуль не удалось найти. в неизвестных на линии 0

php   windows   curl    

139   5   09:45, 11th August, 2020


PHP производительность

Что я могу сделать, чтобы увеличить производительность / скорость моих скриптов PHP без установки программного обеспечения на моих серверах?

php   performance    

139   13   06:05, 19th August, 2020


PHP + MYSQLI: привязка переменных параметров / результатов к подготовленным операторам

В проекте, который я собираюсь завершить, я написал и реализовал решение объектно-реляционного сопоставления для PHP. Прежде чем сомневающиеся и мечтатели воскликнут: "как же так?", расслабьтесь - Я не нашел способа сделать работу поздней статической привязки - я просто работаю над этим наилучшим образом,который я могу сделать.

В любом случае, в настоящее время я не использую подготовленные операторы для запросов, потому что я не мог придумать способ передать переменное количество аргументов в методы bind_params() или bind_result() .

Почему мне нужно поддерживать переменное количество аргументов, спросите вы? Потому что суперкласс моих моделей (подумайте о моем решении как о взломанном PHP ActiveRecord wannabe) - это то, где определяется запрос, и поэтому метод find(), например, не знает, сколько параметров ему нужно будет связать.

Теперь я уже думал о создании списка аргументов и передаче строки в eval(), но мне не очень нравится это решение-я бы предпочел просто реализовать свои собственные проверки безопасности и передать операторы.

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

php   mysql   orm   mysqli    

203   4   02:34, 15th August, 2020


Эффективное JPEG изменение размера изображения в PHP

Какой самый эффективный способ изменить размер больших изображений в PHP?

В настоящее время я использую функцию GD imagecopyresampled для получения изображений с высоким разрешением и чистого изменения их размера до размера для просмотра в интернете (примерно 700 пикселей в ширину и 700 пикселей в высоту).

Это отлично работает на небольших (менее 2 MB) фотографиях, и вся операция изменения размера занимает меньше секунды на сервере. Однако в конечном итоге сайт будет обслуживать фотографов, которые могут загружать изображения размером до 10 MB (или изображения размером до 5000x4000 пикселей).

Выполнение такого рода операций изменения размера с большими изображениями приводит к увеличению использования памяти с очень большим запасом (большие изображения могут резко увеличить использование памяти для сценария после 80 MB). Есть ли способ сделать эту операцию изменения размера более эффективной? Должен ли я использовать альтернативную библиотеку изображений, такую как ImageMagick ?

Прямо сейчас код изменения размера выглядит примерно так

function makeThumbnail($sourcefile, $endfile, $thumbwidth, $thumbheight, $quality) {
    // Takes the sourcefile (path/to/image.jpg) and makes a thumbnail from it
    // and places it at endfile (path/to/thumb.jpg).

    // Load image and get image size.
    $img = imagecreatefromjpeg($sourcefile);
    $width = imagesx( $img );
    $height = imagesy( $img );

    if ($width > $height) {
        $newwidth = $thumbwidth;
        $divisor = $width / $thumbwidth;
        $newheight = floor( $height / $divisor);
    } else {
        $newheight = $thumbheight;
        $divisor = $height / $thumbheight;
        $newwidth = floor( $width / $divisor );
    }

    // Create a new temporary image.
    $tmpimg = imagecreatetruecolor( $newwidth, $newheight );

    // Copy and resize old image into new image.
    imagecopyresampled( $tmpimg, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height );

    // Save thumbnail into a file.
    imagejpeg( $tmpimg, $endfile, $quality);

    // release the memory
    imagedestroy($tmpimg);
    imagedestroy($img);

php   image   gd   jpeg    

178   9   15:16, 27th August, 2020


Массивы массивов в Java

Это очень неприятно для меня... Я парень PHP, работающий в Java над проектом JSP. Я знаю, как сделать то, что я пытаюсь через слишком много кода и полное отсутствие изящества.

Я бы предпочел сделать все правильно. Вот такая ситуация:

Я пишу небольшой дисплей, чтобы показать клиентам, в какие дни они могут поливать свои газоны на основе их группы полива (ABCDE) и в какое время года это происходит. Наши сезоны выглядят так: Лето (от 5-1 до 8-31) Spring (от 3-1 до 4-30) Падение (от 9-1 до 10-31) Зима (от 11-1 до 2-28)

Примером может быть:

Если бы я был в группе А, здесь были бы мои разрешенные времена: Зима: только по понедельникам Spring: Вт, Чт, Сб Лето: В Любой День Осень: Вт, Чт, Сб

Если бы я писал это в PHP, я бы использовал такие массивы:

//M=Monday,t=Tuesday,T=Thursday.... etc
$schedule["A"]["Winter"]='M';
$schedule["A"]["Spring"]='tTS';
$schedule["A"]["Summer"]='Any';
$schedule["A"]["Fall"]='tTS';
$schedule["B"]["Winter"]='t';

Я мог бы сделать массивы дней (array ("Tuesday","Thursday","Saturday")) и т. д., Но это не обязательно для того, что я действительно пытаюсь выполнить.

Мне также нужно будет настроить массивы, чтобы определить, в каком сезоне я нахожусь:

$seasons["Summer"]["start"]=0501;
$seasons["Summer"]["end"]=0801;

Может ли кто-нибудь предложить действительно классный способ сделать это? У меня будет сегодняшняя дата и письмо группы. Мне нужно будет выйти из моей функции в день (M) или в ряд дней (tTS), (любой).

java   php   jsp   tomcat    

184   12   20:05, 28th August, 2020


анализ сырой email в php

Я ищу good/working/simple, чтобы использовать код php для разбора raw email на части.

Я написал пару решений грубой силы, но каждый раз, когда появляется один маленький change/header/space/something, весь мой парсер выходит из строя, и проект разваливается.

И прежде чем мне укажут на PEAR/PECL,, мне нужен реальный код. У моего хоста есть какая-то странная конфигурация или что-то еще, я никогда не смогу правильно построить .so. Если я действительно получаю .so сделанный, некоторая разница в path/environment/php.ini не всегда делает его доступным (apache против cron против cli).

О, И последнее, я разбираю необработанный текст email, а не POP3 и не IMAP. Он передается в сценарий php через перенаправление .qmail email.

Я не ожидаю, что SOF напишет это для меня, я ищу некоторые советы/отправные точки для этого "right". Это одна из тех проблем "wheel", которые, как я знаю, уже решены.

php   email    

126   14   22:20, 22nd August, 2020


Составлено PHP?

Есть ли у кого-нибудь опыт работы с ускорителями PHP, такими как MMCache или Zend Accelerator ? Я хотел бы знать, делает ли использование любого из них PHP сравнимым с более быстрыми веб-технологиями. Кроме того, есть ли компромиссы для их использования?

php   caching   zend-optimizer    

128   10   20:00, 26th August, 2020


Как настроить переменные для всего сайта в php?

Я хочу определить что-то вроде этого в php :

$EL = "\n<br />\n";

а затем используйте эту переменную в качестве маркера "endline" по всему моему сайту, вот так:

echo "Blah blah blah{$EL}";

Как я могу определить $EL один раз (только в 1 файле), включить его на каждой странице моего сайта и не ссылаться на него, используя (странно наоборот) оператор global $EL; в каждой функции страницы?

php    

211   9   02:17, 10th August, 2020


PHP: доступ к значению массива на лету

В php мне часто приходится сопоставлять переменную с помощью массива ... но я не могу, кажется, быть в состоянии сделать это в одном лайнере. c.f. образец:

// the following results in an error:
echo array('a','b','c')[$key];

// this works, using an unnecessary variable:
$variable = array('a','b','c');
echo $variable[$key];

Это небольшая проблема, но она продолжает беспокоить время от времени ... Мне не нравится тот факт, что я использую переменную просто так ;)

php   arrays   coding-style    

145   9   01:50, 23rd August, 2020


PHP: доступ к значению массива на лету

В php мне часто приходится сопоставлять переменную с помощью массива ... но я не могу, кажется, быть в состоянии сделать это в одном лайнере. c.f. образец:

// the following results in an error:
echo array('a','b','c')[$key];

// this works, using an unnecessary variable:
$variable = array('a','b','c');
echo $variable[$key];

Это небольшая проблема, но она продолжает беспокоить время от времени ... Мне не нравится тот факт, что я использую переменную просто так ;)

php   arrays   coding-style    

208   9   06:47, 20th August, 2020


Как я могу определить скорость CodeIgniter?

Я думаю использовать фреймворк PHP под названием CodeIgniter .

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

php   performance   codeigniter   benchmarking    

213   13   18:51, 27th August, 2020


mysqli или PDO - каковы плюсы и минусы?

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

Я предпочитаю PDO только по той причине, что он допускает именованные параметры для подготовленных операторов, а насколько мне известно, mysqli этого не делает.

Есть ли еще какие-то плюсы и минусы в выборе одного из них в качестве стандарта, когда мы объединяем наши проекты, чтобы использовать только один подход?

php   mysql   pdo   mysqli   database-abstraction    

203   13   04:14, 25th August, 2020


Разница в скорости использования встроенных строк против конкатенации в php5?

(предположим, php5) рассмотрим

<?php

    $foo = 'some words';

    //case 1
    print "these are $foo";

    //case 2
    print "these are {$foo}";

    //case 3
    print 'these are ' . $foo;
?>

Есть ли большая разница между 1 и 2?

Если нет, то как насчет между 1/2 и 3?

php   optimization   performance    

131   0   11:32, 9th August, 2020


Есть ли простой способ преобразовать C# классов в PHP?

Я привык писать C# Windows приложений. Однако у меня есть некоторое свободное размещенное PHP веб-пространство, которое я хотел бы использовать. У меня есть базовое понимание PHP, но я никогда не использовал его объектно-ориентированные возможности.

Существует ли простой способ преобразовать C# классов в PHP классов или просто невозможно написать полностью объектно-ориентированное приложение в PHP?

Обновление: нет никакой опоры на фреймворк .NET, кроме основ. Основная цель будет заключаться в реструктуризации свойств класса, переменной enums и т.д. PHP будет размещен на сервере Linux.

c#   php    

198   5   06:58, 10th August, 2020


php Zend / MVC без mod_rewrite

Я видел, что это упоминается во многих блогах по сети, но я считаю, что это должно обсуждаться здесь. Что мы можем сделать, когда у нас есть фреймворк MVC (меня интересует ZEND) в PHP, но наш хост не предоставляет mod_rewrite? Есть ли какие-нибудь "short-cuts"? Можем ли мы каким-либо образом передать управление (чтобы между страницами могло возникнуть сопоставление)? Есть идеи? Спасибо :-)

php   model-view-controller   zend-framework    

146   5   11:13, 18th August, 2020


Найдите наилучшую комбинацию из заданного множества множеств

Скажем, у вас есть груз. Он должен пройти от точки А до точки Б, от точки Б до точки C и, наконец, от точки C до точки D. вам нужно добраться туда за пять дней за наименьшую сумму денег. Есть три возможных грузоотправителя для каждой ноги, каждый со своим собственным различным временем и стоимостью для каждой ноги:

Array
(
    [leg0] => Array
        (
            [UPS] => Array
                (
                    [days] => 1
                    [cost] => 5000
                )

            [FedEx] => Array
                (
                    [days] => 2
                    [cost] => 3000
                )

            [Conway] => Array
                (
                    [days] => 5
                    [cost] => 1000
                )

        )

    [leg1] => Array
        (
            [UPS] => Array
                (
                    [days] => 1
                    [cost] => 3000
                )

            [FedEx] => Array
                (
                    [days] => 2
                    [cost] => 3000
                )

            [Conway] => Array
                (
                    [days] => 3
                    [cost] => 1000
                )

        )

    [leg2] => Array
        (
            [UPS] => Array
                (
                    [days] => 1
                    [cost] => 4000
                )

            [FedEx] => Array
                (
                    [days] => 1
                    [cost] => 3000
                )

            [Conway] => Array
                (
                    [days] => 2
                    [cost] => 5000
                )

        )

)

Как вы собираетесь найти лучшую комбинацию программно?

Моя лучшая попытка до сих пор (третий или четвертый алгоритм) :

  1. Найдите самый длинный грузоотправитель для каждой ноги
  2. Устранить большинство "expensive" один
  3. Найти самый дешевый грузоотправитель для каждой ноги
  4. Рассчитайте общую стоимость & дней
  5. Если дни приемлемы, закончите, иначе, Гото 1

Быстро высмеивается в PHP (обратите внимание, что тестовый массив ниже работает плавно, но если вы попробуете его с тестовым массивом сверху, он не найдет правильную комбинацию):

$shippers["leg1"] = array(
    "UPS"    => array("days" => 1, "cost" => 4000),
    "Conway" => array("days" => 3, "cost" => 3200),
    "FedEx"  => array("days" => 8, "cost" => 1000)
);

$shippers["leg2"] = array(
    "UPS"    => array("days" => 1, "cost" => 3500),
    "Conway" => array("days" => 2, "cost" => 2800),
    "FedEx"  => array("days" => 4, "cost" => 900)
);

$shippers["leg3"] = array(
    "UPS"    => array("days" => 1, "cost" => 3500),
    "Conway" => array("days" => 2, "cost" => 2800),
    "FedEx"  => array("days" => 4, "cost" => 900)
);    

$times = 0;
$totalDays = 9999999;

print "<h1>Shippers to Choose From:</h1><pre>";
print_r($shippers);
print "</pre><br />";

while($totalDays > $maxDays && $times < 500){
            $totalDays = 0;
            $times++;
            $worstShipper = null;
            $longestShippers = null;
            $cheapestShippers = null;

            foreach($shippers as $legName => $leg){
                //find longest shipment for each leg (in terms of days)
                unset($longestShippers[$legName]);
                $longestDays = null;        

                if(count($leg) > 1){
                    foreach($leg as $shipperName => $shipper){
                        if(empty($longestDays) || $shipper["days"] > $longestDays){
                            $longestShippers[$legName]["days"] = $shipper["days"];
                            $longestShippers[$legName]["cost"] = $shipper["cost"];
                            $longestShippers[$legName]["name"] = $shipperName;
                            $longestDays = $shipper["days"];
                        }
                    }           
                }
            }

            foreach($longestShippers as $leg => $shipper){
                $shipper["totalCost"] = $shipper["days"] * $shipper["cost"];

                //print $shipper["totalCost"] . " &lt;?&gt; " . $worstShipper["totalCost"] . ";";

                if(empty($worstShipper) || $shipper["totalCost"] > $worstShipper["totalCost"]){
                    $worstShipper = $shipper;
                    $worstShipperLeg = $leg;
                }
            }

            //print "worst shipper is: shippers[$worstShipperLeg][{$worstShipper['name']}]" . $shippers[$worstShipperLeg][$worstShipper["name"]]["days"];
            unset($shippers[$worstShipperLeg][$worstShipper["name"]]);

            print "<h1>Next:</h1><pre>";
            print_r($shippers);
            print "</pre><br />";

            foreach($shippers as $legName => $leg){
                //find cheapest shipment for each leg (in terms of cost)
                unset($cheapestShippers[$legName]);
                $lowestCost = null;

                foreach($leg as $shipperName => $shipper){
                    if(empty($lowestCost) || $shipper["cost"] < $lowestCost){
                        $cheapestShippers[$legName]["days"] = $shipper["days"];
                        $cheapestShippers[$legName]["cost"] = $shipper["cost"];
                        $cheapestShippers[$legName]["name"] = $shipperName;
                        $lowestCost = $shipper["cost"];
                    }
                }

                //recalculate days and see if we are under max days...
                $totalDays += $cheapestShippers[$legName]['days'];  
            }
            //print "<h2>totalDays: $totalDays</h2>";
        }

        print "<h1>Chosen Shippers:</h1><pre>";
        print_r($cheapestShippers);
        print "</pre>";

Я думаю, что мне, возможно, придется на самом деле сделать что-то вроде того, где я буквально делаю каждую комбинацию по одному (с серией петель) и складываю общее "score" каждого и нахожу лучший....

EDIT: Чтобы уточнить, это не задание "homework" (я не в школе). Это часть моего текущего проекта на работе.

Требования (как всегда) постоянно менялись. Если бы мне дали текущие ограничения в то время, когда я начал работать над этой проблемой, я бы использовал какой-то вариант алгоритма A* (или Dijkstra'S, или shortest path, или simplex, или что-то еще). Но все менялось и менялось, и это привело меня туда, где я сейчас нахожусь.

Поэтому я думаю, что это означает, что мне нужно забыть обо всем дерьме, которое я сделал до этого момента, и просто пойти с тем, что я знаю, что должен идти, что является алгоритмом поиска пути.

php   algorithm   puzzle   combinations   np-complete    

124   7   03:07, 6th August, 2020


Только принимать определенные ajax запросы от пользователей, прошедших проверку подлинности

Как лучше всего убедиться, что определенные вызовы ajax на определенные страницы принимаются только от аутентифицированных пользователей?

Например:

Допустим, у меня есть главная страница под названием blog.php (я знаю, творчество изобилует). Предположим также, что существует страница с именем delete.php , которая ищет параметр post_id , а затем удаляет некоторую запись из базы данных.

В этом очень надуманном примере есть некоторый механизм на blog.php, который отправляет запрос через ajax к delete.php, чтобы удалить запись.

Теперь этот механизм будет доступен только аутентифицированным пользователям на blog.php. Но что мешает кому-то просто позвонить delete.php с кучей случайных чисел и удалить все на сайте?

Я сделал быстрый тест, где я установил переменную сеанса в blog.php, а затем сделал вызов ajax в delete.php, чтобы вернуться, если переменная сеанса была установлена или нет (это не было) .

Каков общепринятый способ справиться с такими вещами?


OK. Должно быть, я сошел с ума, когда впервые попробовал это сделать.

Я просто сделал еще один тест, как тот, который я описал выше, и он работал отлично.

php   ajax   authentication    

210   2   09:40, 7th August, 2020


Создание одного интерфейса перезаписывает метод, который он наследует от другого интерфейса в PHP

Есть ли способ в PHP перезаписать метод, объявленный одним интерфейсом в интерфейсе, расширяющем этот интерфейс?

образец:

Я, наверное, делаю что-то не так, но вот что у меня есть:

interface iVendor{
    public function __construct($vendors_no = null);
    public function getName();
    public function getVendors_no();
    public function getZip();
    public function getCountryCode();
    public function setName($name);
    public function setVendors_no($vendors_no);
    public function setZip($zip);
    public function setCountryCode($countryCode);
}

interface iShipper extends iVendor{
    public function __construct($vendors_no = null, $shipment = null);
    public function getTransitTime($shipment = null);
    public function getTransitCost($shipment = null);
    public function getCurrentShipment();
    public function setCurrentShipment($shipment);
    public function getStatus($shipment = null);
}

Обычно в PHP, когда вы расширяете что-то, вы можете перезаписать любой метод, содержащийся в нем (правильно?). Однако, когда один интерфейс расширяет другой, он не позволит вам. Если только я не думаю об этом неправильно... Когда я реализую интерфейс iShipper, мне не нужно заставлять объект Shipper расширять объект Vendor (который реализует интерфейс iVendor). Я просто говорю:

class FedEx implements iShipper{}

и сделать FedEx реализовать все методы из iVendor и iShipper. Однако мне нужно, чтобы функции __construct в iVendor и iShipper были уникальными. Я знаю, что могу вынуть $shipment = null, но тогда было бы не так удобно создавать грузоотправителей (просто передавая vendors_no и отгрузку при создании экземпляра).

Кто-нибудь знает, как сделать эту работу? Мой запасной вариант-установить отправку, позвонив $shipper->setShipment($shipment); на отправителя после того, как я создам его экземпляр, но я надеюсь, что смогу обойти это...

Еще немного объяснений для любопытных:
Объект FedEx имеет методы, которые переходят на сайт FedEx (используя cURL) и получают оценку для рассматриваемой отгрузки. У меня есть объект UPS, объект BAXGlobal, объект Conway и т. д. Каждый из них имеет COMPLETELY различных методов для фактического получения оценки доставки, но все, что система должна знать, это то, что они являются "shipper" и что методы, перечисленные в интерфейсе, могут быть вызваны на них (поэтому он может обрабатывать их все точно так же и перебирать их в массиве "shippers", вызывая getTransitX() , чтобы найти лучшего отправителя для отгрузки).

Каждый "Shipper" также является "Vendor", хотя и рассматривается как таковой в других частях системы (получение и ввод DB и т. д. Наш дизайн данных-это куча дерьма, поэтому FedEx хранится прямо рядом с такими компаниями, как Dunder Mifflin в таблице "Vendors", что означает, что он получает все свойства каждого другого поставщика, но нуждается в дополнительных свойствах и методах, предоставляемых iShipper).

php   oop   interface   extends    

147   2   11:08, 9th August, 2020


Как написать regex, чтобы вернуть только определенные части этой строки?

Поэтому я работаю над проектом, который позволит пользователям вводить истории покерных рук с таких сайтов, как PokerStars, а затем отображать им руку.

Кажется, что regex будет отличным инструментом для этого, однако я оцениваю свои знания regex на "slim to none".

Поэтому я использую PHP и перебираю этот блок текста строка за строкой и по строкам, как это:

Seat 1: fabulous29 (835 in chips)

Seat 2: Nioreh_21 (6465 in chips)

Seat 3: Big Loads (3465 in chips)

Seat 4: Sauchie (2060 in chips)

Я хочу извлечь seat number, name, & chip count , поэтому формат

Seat [number]: [letters&numbers&characters] ([number] in chips)

Я понятия не имею, с чего начать или какие команды я должен даже использовать для оптимизации этого.

Любые советы очень ценятся - даже если это просто ссылка на учебник по PHP regex или имя команды(команд), которую я должен использовать.

php   regex    

206   11   18:33, 28th August, 2020


Как вы используете обратные ссылки на PCREs в PHP?

Я читаю эту страницу PHP RegEx, но либо я что-то упускаю, неправильно читаю что-то, или это не работает так, как они говорят. Я предполагаю, что это один из первых двух.

$str = preg_replace("([|]\d*)", "\1;", $str);

php   regex    

122   1   21:42, 28th August, 2020


PHPs htmlspecialcharacters эквивалент в .NET?

PHP имеет отличную функцию под названием htmlspecialcharacters() , где вы передаете ей строку, и она заменяет все специальные символы HTML их безопасными эквивалентами, это почти один магазин для очистки ввода. Очень мило, правда?

Ну есть ли эквивалент в любой из библиотек .NET?

Если нет, то может ли кто-нибудь ссылаться на любые примеры кода или библиотеки, которые делают это хорошо?

c#   .net   php   asp.net    

190   5   16:31, 8th August, 2020


Доступ к параметру html в PHP

Я пытаюсь сделать простой тестовый сценарий php для сеансов. В основном он увеличивает счетчик (хранится в $_SESSION) каждый раз, когда вы обновляете эту страницу. Это работает, но я пытаюсь иметь ссылку, чтобы уничтожить сеанс, который перезагружает страницу с параметром ?destroy=1 . Я пробовал пару операторов if, чтобы увидеть, установлен ли этот параметр, и если да, то уничтожить сеанс, но он, похоже, не работает.

Я даже поместил оператор if в основной корпус, чтобы всплывающее сообщение, если параметр установлен , но он, похоже, не был поднят.

Я знаю, что делаю что-то глупое (я новичок PHP), но я не могу найти, что это такое...

Смотрите код здесь:

<?php
if ($_POST['destroy']) {
    session_destroy();
} else {
    session_start();
}    
?>

<html>
    <head>
        <title>Session test</title>
    </head>
    <body>
    <?php
    if (isset($_POST['destroy'])) {
        echo "Destroy set";
    }

    $_SESSION['counter']++;

    echo "You have visited this page " . $_SESSION['counter'] . " times" . "<BR>";
    echo "I am tracking you using the session id " . session_id() . "<BR>";
    echo "Click <a href=\"" . $_SERVER['PHP_SELF'] . "?destroy=1\">here</a> to destroy the session.";
?>

php   session    

203   5   12:14, 18th August, 2020


Реализация права в PHP

Я пытался сделать это несколько раз, но безуспешно. После прочтения этого поста, это заставило меня заинтересоваться этим снова. Так может кто-нибудь сказать мне, почему следующее не работает?

<?php

$guest = 1;
$editor = 2;
$admin = 4;

$user = $editor;

if( $user == ($editor | $admin) ) {
    echo "Test";    
}

?>

php   permissions    

208   10   11:11, 28th August, 2020


Как бы вы реализовали аутентификацию на основе FORM без резервной базы данных?

У меня есть сценарий PHP, который работает как программа CGI, а заголовок HTTP Authenticate съедается и выплевывается. Поэтому я хотел бы реализовать какую-то аутентификацию на основе FORM. В качестве дополнительного ограничения отсутствует база данных, поэтому данные сеанса не могут быть сохранены.

Я очень открыт для того, чтобы иметь мастер-имя пользователя и пароль. Мне просто нужно защитить приложение от злоумышленника, который не знает эти учетные данные.

Так как бы вы это реализовали?

Печенье?

Я могу представить форму, и если она подтвердится, я могу отправить обратно файл cookie, который является hash из IP адреса и секретного кода. Тогда я могу запретить отображение страниц, если вещь не расшифровывается правильно. Но я понятия не имею, как реализовать это в PHP.

php   http   authentication   cookies   cgi    

120   4   12:14, 24th August, 2020


Email обслуживания в php

Каков наиболее правильный способ отправки email минимальной 1000 или более в PHP? Есть ли надежная email техника массового обслуживания, которая способна справиться с этим?

php   email   queue    

131   6   14:22, 24th August, 2020


WebSVN с сервером VisualSVN, кто - нибудь получил аутентификацию для работы?

У меня есть сервер VisualSVN , установленный на сервере Windows, обслуживающем несколько репозиториев.

Поскольку web-viewer, встроенный в сервер VisualSVN, является минималистичным браузером subversion, я хотел бы установить WebSVN поверх моих репозиториев.

Проблема, однако, заключается в том, что я не могу заставить аутентификацию работать. В идеале я хотел бы, чтобы моя текущая аутентификация репозитория, указанная в VisualSVN, работала с WebSVN, так что, хотя я вижу все имена репозитория в WebSVN, я не могу просматривать их без правильных учетных данных.

Посетив кэшированную копию самой верхней ссылки в этом запросе google , вы можете увидеть, что я нашел до сих пор, что выглядит многообещающе.
(главная страница блога, похоже, была уничтожена, домен самой верхней страницы, на которую я ссылаюсь,-wizzard.de)

Там я нашел некоторые функции php, которые я мог бы прикрепить к одному из файлов php в WebSVN. Я следил за изменениями там, но все, что мне удалось сделать, это заставить WebSVN спросить у меня имя пользователя и пароль, и независимо от того, что я ввожу, он меня не впустит.

К сожалению, php и apache - это в основном черная магия для меня.

Итак, кто-нибудь успешно интегрировал WebSVN с VisualSVN размещенными репозиториями?

php   svn   visualsvn-server   websvn    

145   5   07:56, 29th August, 2020


cURL добавление whitespace к контенту публикации?

Я пытаюсь POST против сервера поставщика, используя PHP 5.2 с cURL. Я читаю в документе XML для публикации на их сервере, а затем читаю в ответе:

$request = trim(file_get_contents('test.xml'));
$curlHandle = curl_init($servletURL);
curl_setopt($curlHandle, CURLOPT_POST, TRUE);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, array('XML'=>$request));
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curlHandle, CURLOPT_HEADER, FALSE);  # Have also tried leaving this out
$response = curl_exec($curlHandle);

Этот код, сам по себе, работает OK, но другой сервер возвращает ответ от его парсера XML, заявляющего:

Содержание не допускается в prolog

Я посмотрел эту ошибку, и это обычно вызвано whitespace до XML, но я убедился, что сам файл XML не имеет whitespace, и trim() должен очистить это в любом случае. Я сделал TCPDump по соединению, пока я запускал код, и это то, что отправляется:

POST {serverURL} HTTP/1.1
Host: {ip of server}:8080
Accept: */*
Content-Length: 921
Expect: 100-continue
Content-Type: multipart/form-data; boundry:---------------------------01e7cda3896f

---------------------------01e7cda3896f
Content-Disposition: form-data; name="XML"

[SNIP - the XML was displayed]

---------------------------01e7cda3896f--

До и после строки [SNIP] есть видимый whitespace, когда я переигрываю сеанс в Ethereal. Это то, что вызывает проблему, и если да,то как я могу ее удалить, или я смотрю слишком далеко, и это может быть проблемой с сервером, на котором я публикую?

php   xml   curl    

169   3   16:03, 23rd August, 2020


Работа с PHP сервером и MySQL сервером в разных часовых поясах

Для тех из нас, кто использует стандартные пакеты общего хостинга, такие как GoDaddy или сетевые решения, как вы обрабатываете конверсии datetime, когда ваш хостинг-сервер (PHP) и MySQL сервер находятся в разных часовых поясах?

Кроме того, есть ли у кого-нибудь рекомендации по определению часового пояса, в котором находится посетитель вашего сайта, и соответствующим образом манипулирует переменной datetime?

php   mysql   datetime   date   timezone    

177   2   02:50, 7th August, 2020


Как отобразить "12 minutes ago" и т.д. На странице PHP?

Может ли кто-нибудь сказать мне, как я могу отобразить сообщение о состоянии, например "12 seconds ago" или "5 minutes ago" и т.д. На веб-странице?

php    

155   3   23:10, 10th August, 2020


Инденторы и декораторы пакетного кода

Кто-нибудь знает хорошего пакетный файл инденторов код или beautifiers?

Специально для PHP, JS и SGML-языков.

Предпочтительно с вариантами относительно стиля.

php   javascript   html   coding-style    

198   2   09:41, 3rd August, 2020


PHP скрипт для заполнения таблиц MySQL

Кто-нибудь знает о script/class (предпочтительно в PHP), который будет анализировать данный MySQL table's structure , а затем заполнять его x number of rows случайными тестовыми данными на основе типов полей?

Я никогда не видел и не слышал о чем-то подобном и подумал, что проверю, прежде чем писать самому.

php   mysql   testing   dataset   test-data    

123   1   21:31, 23rd August, 2020


Гото команда в PHP?

Я слышал слухи, что PHP планирует ввести команду "goto". Что он должен делать?

Я попытался немного поискать, но не нашел ничего ужасно описательного. Я понимаю, что это не будет команда типа "GOTO 10"...

php   language-features   goto    

192   7   17:29, 8th August, 2020


Проверьте права доступа к файлам

Как я могу проверить file permissions, не имея необходимости запускать конкретную команду операционной системы через passthru() или exec() ?

php   file-permissions    

148   5   00:07, 12th August, 2020


Представляем Python

Компания, с которой я работал, имеет двух разработчиков, работающих полный рабочий день, и несколько фрилансеров. Они находятся в процессе найма нового ведущего разработчика, чтобы попытаться навести порядок и управление в разработке.

Но в настоящее время один из разработчиков увидел свет Django (на сегодняшний день компания разработала только PHP), в то время как другой разработчик обеспокоен тем, что введение нового языка (Python) является плохой идеей прямо сейчас.

Как они должны подходить к внедрению этой новой технологии? Очевидно, что только один из разработчиков действительно знает Python, не будет никакой избыточности, когда этот разработчик уйдет или покинет компанию.

Должны ли они беспокоиться о том, чтобы ввести Python, или они должны искать решения только для PHP до тех пор, пока у команды на самом деле не будет более одного Pythonion? Без лидера команды, решения должны падать на них.

php   python    

155   8   13:56, 28th August, 2020


Быстрый (er) способ получить индекс файла с помощью PHP

Чтобы захватить индекс файла в PHP, вы можете использовать это:

$fs = stat($file);
echo $fs['ino'];

Проблема в том, что EVERYWHERE говорит, что это медленно, и вы должны избегать этого. Таким образом, возникает вопрос, каков быстрый(э-э) способ сделать это?

php   inode    

134   2   18:25, 3rd August, 2020


Инструменты для рефакторинга кода PHP

Существуют ли какие-либо инструменты, поддерживающие рефакторинг кода PHP (переименование переменных, извлечение методов, поиск ссылок на методы,...)? Спасибо.

php   refactoring    

145   15   22:13, 24th August, 2020


PHP с SQL Server 2005+

В настоящее время у нас есть гибридная установка ASP/PHP, подключающаяся к базе данных SQL Server 2005. Но вся работа с запросами выполняется на стороне клиента, я хотел бы переместить часть этого в PHP.

Какой драйвер и / или строка подключения необходимы для подключения к Sql Svr и каков синтаксис для использования в PHP?


Обновление: OK поэтому я определенно пытался избежать использования чего-либо, связанного с копированием DLLs и т. д. Я посмотрю на драйвер SQL2K5PHP (спасибо Винсент). @jcarrascal для ясности, под "client side" я имею в виду наше приложение-это внутреннее веб-приложение , которое работает как HTA, со всеми запросами, выполняемыми через javascript вызовов к ASP, который фактически отправляет запрос DB.

php   sql-server    

137   3   11:39, 11th August, 2020


cURL добавление whitespace к контенту публикации?

Я пытаюсь POST против сервера поставщика, используя PHP 5.2 с cURL. Я читаю в документе XML для публикации на их сервере, а затем читаю в ответе:

$request = trim(file_get_contents('test.xml'));
$curlHandle = curl_init($servletURL);
curl_setopt($curlHandle, CURLOPT_POST, TRUE);
curl_setopt($curlHandle, CURLOPT_POSTFIELDS, array('XML'=>$request));
curl_setopt($curlHandle, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curlHandle, CURLOPT_HEADER, FALSE);  # Have also tried leaving this out
$response = curl_exec($curlHandle);

Этот код, сам по себе, работает OK, но другой сервер возвращает ответ от его парсера XML, заявляющего:

Содержание не допускается в prolog

Я посмотрел эту ошибку, и это обычно вызвано whitespace до XML, но я убедился, что сам файл XML не имеет whitespace, и trim() должен очистить это в любом случае. Я сделал TCPDump по соединению, пока я запускал код, и это то, что отправляется:

POST {serverURL} HTTP/1.1
Host: {ip of server}:8080
Accept: */*
Content-Length: 921
Expect: 100-continue
Content-Type: multipart/form-data; boundry:---------------------------01e7cda3896f

---------------------------01e7cda3896f
Content-Disposition: form-data; name="XML"

[SNIP - the XML was displayed]

---------------------------01e7cda3896f--

До и после строки [SNIP] есть видимый whitespace, когда я переигрываю сеанс в Ethereal. Это то, что вызывает проблему, и если да,то как я могу ее удалить, или я смотрю слишком далеко, и это может быть проблемой с сервером, на котором я публикую?

php   xml   curl    

203   3   06:46, 29th August, 2020


Как я могу регистрировать необнаруженные исключения в PHP?

Я выяснил, как преобразовать ошибки в исключения, и я хорошо отображаю их, если они не пойманы, но я не знаю, как их правильно регистрировать. Просто записать их в файл не будет полезно, не так ли? И вы бы рискнули получить доступ к базе данных, когда вы еще не знаете, что вызвало исключение?

php   exception   error-handling   error-logging    

120   7   04:29, 8th August, 2020


В чем смысл интерфейсов в PHP?

Интерфейсы позволяют создавать код, который определяет методы классов, реализующих его. Однако вы не можете добавить код к этим методам.

Абстрактные классы позволяют делать то же самое, а также добавлять код к методу.

Теперь, если вы можете достичь той же цели с абстрактными классами, зачем нам вообще нужна концепция интерфейсов?

Мне сказали, что это связано с теорией OO от C++ до Java, на которой основан материал PHP OO. Является ли эта концепция полезной в Java, но не в PHP? Может быть, это просто способ избежать того, чтобы заполнители были завалены в абстрактном классе? Я что-то упустил?

php   oop   interface   theory    

242   15   23:27, 29th August, 2020


Лучший подход к разбору для SQL в PHP файлов?

Для моей старшей диссертации я разработал программу, которая будет автоматически обнаруживать и предлагать исправления уязвимостей SQL инъекций с использованием подготовленных инструкций. В частности, расширение mysqli для PHP. Мой вопрос для сообщества SO заключается в следующем: каков ваш предпочтительный подход к обнаружению SQL в исходном коде PHP?

Я использовал перечисление, содержащее SQL keywords (SELECT, INSERT, ...) , и в основном анализировал каждую строку, повторяя перечисление, чтобы определить, присутствует ли какой-либо SQL. Кроме того, я должен был убедиться, что синтаксический анализатор не ошибочно обнаруживает html (например <\select>).

Для меня это решение работало нормально, но теперь у меня есть немного больше времени на руках и я подумал о рефакторинге кода, чтобы использовать более элегантное (и эффективное) решение. Пожалуйста, ограничьте свои решения использованием C# , поскольку это то, в чем я написал свою программу.

c#   .net   php   sql   parsing    

164   6   10:37, 16th August, 2020


Если у меня есть строка PHP в формате YYYY-DD-MM и timestamp в MySQL, есть ли хороший способ конвертировать между ними?

Мне интересно провести сравнение между строкой даты и MySQL timestamp. Однако я не вижу легкой конверсии. Неужели я упускаю что-то очевидное?

php   mysql   time   timestamp   date    

126   6   20:11, 27th August, 2020


Самый простой способ профилировать скрипт PHP

Какой самый простой способ профилировать скрипт PHP?

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

Я попробовал поэкспериментировать с функцией microtime :

$then = microtime();
myFunc();
$now = microtime();

echo sprintf("Elapsed:  %f", $now-$then);

но это иногда дает мне отрицательные результаты. К тому же это большая проблема, чтобы разбрызгать это по всему моему коду.

php   profiling    

189   12   03:57, 1st August, 2020


sleep() молчаливые свиньи CPU

Я запускаю Apache на Linux в пределах VMWare.

Одна из PHP страниц, которые я запрашиваю, делает sleep() , и я обнаруживаю, что если я попытаюсь запросить вторую страницу, пока первая страница является sleep()'ing, вторая страница зависает, ожидая завершения sleep() с первой страницы.

Кто-нибудь еще видел такое поведение?

Я знаю, что PHP не является многопоточным, но это похоже на грубое неправильное обращение с CPU.

Edit: я должен был упомянуть, что использование CPU не вызывает скачков. Что я имею в виду CPU "hogging" заключается в том, что никаких других PHP страницы, кажется, в состоянии использовать CPU, пока страница sleep() передоза.

php   performance   sleep    

202   3   02:12, 20th August, 2020


Как изменить размер и преобразовать загруженное изображение в PNG с помощью GD?

Я хочу разрешить пользователям загружать изображения типа Аватара в различных форматах (по крайней мере, в форматах GIF, JPEG и PNG ), но сохранить их все как PNG database BLOBs . Если изображения слишком большие, по пикселям, я хочу изменить их размер до DB-вставки.

Что является лучшим способом, чтобы использовать GD, чтобы сделать изменения и преобразования PNG?

Edit: к сожалению, на сервере, который мне нужен, доступен только GD, а не ImageMagick .

php   database   image   png   gd    

192   9   07:01, 18th August, 2020


Какой хороший способ инкапсулировать доступ к данным с помощью PHP/MySQL?

Большая часть моего опыта находится в стеке MSFT, но сейчас я работаю над сайд-проектом, помогая кому-то с личным сайтом с дешевым хостингом, который построен на стеке LAMP. Мои возможности по установке дополнительных компонентов ограничены, поэтому мне интересно, как написать код доступа к данным без внедрения необработанных запросов в файлы .php.

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

Помните, что у меня есть учетная запись $7/month GoDaddy, поэтому я ограничен тем, что уже установлено в их базовом пакете.

Edit: спасибо rix0rr, Алан, Андерс, Дракон, Я проверю все это. Я отредактировал вопрос, чтобы быть более открытым для решений ORM, поскольку они так популярны.

php   mysql   database   lamp    

132   6   03:32, 22nd August, 2020


Имеет ли PHP встроенные структуры данных?

Я смотрю на руководство PHP, и я не вижу раздела о структурах данных, которые есть в большинстве языков, таких как списки и наборы. Я просто слепой или у PHP нет ничего подобного встроенного?

php   data-structures    

203   13   15:46, 4th August, 2020


PHP включает в себя против OOP

Я хотел бы иметь ссылку на плюсы и минусы использования include files vs objects(classes) при разработке приложений PHP.

Я знаю, что мне было бы полезно иметь одно место, чтобы пойти на это answer...I есть несколько собственных мнений, но я с нетерпением жду, чтобы услышать других.

простой пример:

Некоторые страницы на моем сайте доступны только зарегистрированным пользователям. У меня есть два варианта реализации (есть и другие, но давайте ограничимся этими двумя)

  1. Создайте файл authenticate.php и включите его на каждой странице. Он содержит логику для аутентификации.

  2. Создайте объект пользователя, который имеет функцию аутентификации, ссылайтесь на объект для аутентификации на каждой странице.

Edit я хотел бы увидеть, как можно взвесить преимущества одного над другим. Мои текущие (и слабые причины) следуют:

Включает в себя - иногда функция-это просто easier/shorter/faster называть Объекты-группировка функциональных возможностей и свойств приводит к более длительному обслуживанию.

Включает в себя-меньше кода для записи (нет конструктора, нет синтаксиса класса) назовите меня ленивым, но это правда.

Объекты -сила формальности и единый подход к функциям и созданию.

Включает в себя-легче для новичка, чтобы иметь дело с Объекты-сложнее для новичков, но не одобряются профессионалами.

Я смотрю на эти факторы в начале проекта, чтобы решить, хочу ли я делать включения или объекты. Это несколько плюсов и минусов с моей головы.

php   coding-style    

175   6   14:09, 25th August, 2020


Прохождение с комментарием, мульти-линии (свободного пространства) regex для функции preg_match

У меня есть regex, который в конечном итоге будет немного длинным, и это сделает его намного легче читать, чтобы иметь его через несколько строк.

Я пробовал это, но меня просто тошнит.

preg_match(
    '^J[0-9]{7}:\s+
    (.*?)             #Extract the Transaction Start Date msg
    \s+J[0-9]{7}:\s+Project\sname:\s+
    (.*?)             #Extract the Project Name
    \s+J[0-9]{7}:\s+Job\sname:\s+
    (.*?)             #Extract the Job Name
    \s+J[0-9]{7}:\s+',
    $this->getResultVar('FullMessage'),
    $atmp
);

Есть ли способ передать regex в приведенной выше форме preg_match?

php   regex    

134   5   14:00, 17th August, 2020


Разница между петлями

Речь идет о PHP, но я не сомневаюсь, что многие из тех же комментариев будут применяться и к другим языкам.

Проще говоря, каковы различия в различных типах цикла для PHP? Является ли один быстрее/лучше, чем другие, или я должен просто поместить его в самый читаемый цикл?

for ($i = 0; $i < 10; $i++)
{
    # code...
}


foreach ($array as $index => $value)
{
    # code...
}


do
{
    # code...
}
while ($flag == false);

php   loops    

165   11   05:05, 27th August, 2020


Предложения по Ajax среде разработки для PHP

Я программист C/C++ профессионально, но я создал несколько личных веб-сайтов, используя PHP and MySQL .

Они довольно просты , и я хотел бы оживить их с помощью Ajax, но я никогда не делал никакого Ajax. Я сделал все разработки до сих пор вручную, т. е. нет IDE или что-то в этом роде.

Есть ли у кого-нибудь предложения по Ajax средам разработки, которые могут мне помочь?

Shareware или freeware были бы предпочтительнее, поскольку мне было бы трудно оправдать расходы на это больше, чем минимальная сумма денег...

php   javascript   ajax   ide    

185   6   10:58, 18th August, 2020


Каков наилучший способ настроить memcached на CentOS для работы с Apache и PHP

Каков самый простой способ установить memcached на CentOS для кого-то нового в мире Linux? Каков наилучший способ включить его для Apache и PHP

php   linux   memcached    

186   3   13:06, 22nd August, 2020


Как обрабатывать в том числе необходимые классы в PHP

Мне интересно, что лучше всего подходит для решения проблемы с необходимостью "include" так много файлов в моих скриптах PHP, чтобы гарантировать, что все классы, которые мне нужно использовать, доступны для моего скрипта.

В настоящее время я просто использую include_once для включения классов, к которым я обращаюсь напрямую. Каждый из них будет include_once классы, которые они получают доступ.

Я изучил использование функции __autoload , но hat, похоже, не работает хорошо, если вы планируете организовать файлы классов в дереве каталогов. Если бы вы это сделали, похоже, что вы бы в конечном итоге ходили по дереву каталогов, пока не нашли класс, который вы искали. Кроме того, я не уверен, как это влияет на классы с одинаковым именем в разных пространствах имен.

Есть ли более простой способ справиться с этим?

Или PHP просто не подходит для приложений типа "enterprisey" с большим количеством различных объектов, расположенных в отдельных файлах, которые могут находиться во многих разных каталогах.

php   class   include   autoload    

182   7   18:57, 28th August, 2020


Классы против массивов 2D

Что лучше использовать в PHP, массиве 2D или классе? Я включил пример того, что я имею в виду под этим.

// Using a class
class someClass
{
    public  $name;
    public  $height;
    public  $weight;

    function __construct($name, $height, $weight)
    {
        $this -> name       = $name;
        $this -> height = $height;
        $this -> weight = $weight;
    }
}

$classArray[1] = new someClass('Bob', 10, 20);
$classArray[2] = new someClass('Fred', 15, 10);
$classArray[3] = new someClass('Ned', 25, 30);


// Using a 2D array
$normalArray[1]['name'] = 'Bob';
$normalArray[1]['height']   = 10;
$normalArray[1]['weight']   = 20;

$normalArray[2]['name'] = 'Fred';
$normalArray[2]['height']   = 15;
$normalArray[2]['weight']   = 10;

$normalArray[3]['name'] = 'Ned';
$normalArray[3]['height']   = 25;
$normalArray[3]['weight']   = 30;

Предполагая, что кто-то не выйдет и не покажет, что классы слишком медленные, похоже, что класс выигрывает.

Я не знаю, какой ответ я должен принять, чтобы я только что проголосовал за них всех.


И теперь я написал две почти идентичные страницы, одну с использованием массива 2D (написанного до публикации этого вопроса), а теперь один использует класс, и я должен сказать, что класс производит гораздо более приятный код. Я понятия не имею, сколько накладных расходов будет сгенерировано, но я сомневаюсь, что это будет конкурировать с улучшением самого кода.

Спасибо, что помогли мне стать лучшим программистом.

php   arrays   class    

198   9   05:18, 4th August, 2020


Внедрение данных изображения IPTC с PHP GD

Я пытаюсь встроить данные IPTC в изображение JPEG с помощью iptcembed() , но у меня возникли некоторые проблемы.

Я проверил, что это в конечном продукте:

// Embed the IPTC data
$content = iptcembed($data, $path);

// Verify IPTC data is in the end image
$iptc = iptcparse($content);
var_dump($iptc);

Который возвращает введенные теги.

Однако когда я сохраняю и перезагружаю изображение теги не существуют:

// Save the edited image
$im = imagecreatefromstring($content);
imagejpeg($im, 'phplogo-edited.jpg');
imagedestroy($im);

// Get data from the saved image
$image = getimagesize('./phplogo-edited.jpg');

// If APP13/IPTC data exists output it
if(isset($image['APP13']))
{
    $iptc = iptcparse($image['APP13']);
    print_r($iptc);
}
else
{
    // Otherwise tell us what the image *does* contain
    // SO: This is what's happening
    print_r($image);
}

Так почему же теги не отображаются в сохраненном изображении?

Источник PHP доступен здесь, и соответствующие выходы:

  1. Вывод изображения
  2. Вывод данных

php   gd   iptc    

124   1   02:49, 3rd August, 2020


Установка PHP включить путь на основе каждого сайта?

Я могу установить путь PHP include в php.ini :

include_path = /path/to/site/includes/

Но тогда другие сайты страдают так, что это не хорошо.

Я могу установить PHP include в начале каждого файла:

$path = '/path/to/site/includes/';
set_include_path(get_include_path() . PATH_SEPARATOR . $path);

Но это кажется плохой практикой и загромождает все вокруг.

Так что я могу сделать включение этого и затем включить его в каждый файл:

include 'includes/config.php';

или

include '../includes/config.php';

Это то, что я делаю прямо сейчас, но путь включения config.php будет меняться в зависимости от того, что его включает.

Есть ли лучший способ? Разве это имеет значение?

php   include    

153   7   06:12, 23rd August, 2020


Тактика использования PHP на высоконагруженном сайте

Прежде чем вы ответите на этот вопрос, я никогда не разрабатывал ничего достаточно популярного, чтобы достичь высоких нагрузок на сервер. Относитесь ко мне как к инопланетянину, который только что приземлился на планету, хотя и знает PHP и несколько методов оптимизации.


Я разрабатываю инструмент в PHP , который может охватить довольно много пользователей, если он работает правильно. Однако, хотя я полностью способен разрабатывать программу, я в значительной степени невежествен, когда речь заходит о создании чего-то, что может справиться с огромным трафиком. Поэтому вот несколько вопросов по этому вопросу (не стесняйтесь превратить этот вопрос в поток ресурсов).

База данных

На данный момент я планирую использовать функции MySQLi в PHP5. Однако как я должен настроить базы данных в отношении пользователей и контента? Действительно ли мне нужно несколько баз данных? На данный момент все перемешано в одной базе данных - хотя я рассматривал возможность распространения пользовательских данных в одну, фактического контента в другую и, наконец, основного контента сайта (мастера шаблонов и т. д.) до другого. Я рассуждаю так: отправка запросов в разные базы данных облегчит нагрузку на них, поскольку одна база данных = 3 источника нагрузки. Кроме того, было бы это все еще эффективно, если бы они все были на одном сервере?

Кэширование

У меня есть система шаблонов, которая используется для построения страниц и замены переменных. Основные шаблоны хранятся в базе данных, и каждый раз при вызове шаблона вызывается его кэшированная копия (документ html). На данный момент у меня есть два типа переменных в этих шаблонах - статический var и динамический var. Статические VAR-это обычно такие вещи, как названия страниц, название сайта - вещи, которые не часто меняются; динамические VAR-это вещи, которые меняются при каждой загрузке страницы.

Мой вопрос по этому поводу:

Скажем, у меня есть комментарии к разным статьям. Что является лучшим решением: хранить простой шаблон комментария и отображать комментарии (из вызова DB) каждый раз, когда страница загружается или хранить кэшированную копию страницы комментариев как страницу html - каждый раз, когда комментарий является added/edited/deleted, страница повторно кэшируется.

Окончательно

Есть ли у кого-нибудь советы/указатели для запуска высоконагруженного сайта на PHP. Я почти уверен, что это рабочий язык для использования - Facebook и Yahoo! дайте ему большое преимущество - но есть ли какие-то переживания, которые я должен остерегаться?

php   performance   high-load    

200   23   17:49, 26th August, 2020


Где я могу найти расширенный HTML репортеров для Simpletest?

Я использую Simpletest в качестве основы модульного тестирования для сайта PHP, над которым я сейчас работаю. Мне нравится тот факт, что он поставляется с простым репортером HTML, но я хотел бы немного более продвинутый репортер.

Я прочитал документацию reporter API, но было бы неплохо иметь возможность использовать существующий репортер, вместо того, чтобы делать это самостоятельно.

Есть ли хорошие расширенные репортеры HTML или GUI для Simpletest?

Советы по GUI для PHPUnit также будут оценены, но мой основной фокус-самый простой, для этого проекта. Я пробовал Cool PHPUnit Test Runner, но не был убежден.

php   unit-testing   user-interface   simpletest    

192   2   15:10, 15th August, 2020


Изображения в PHP

Можно ли создавать изображения с помощью PHP (а не просто связываться с ними через HTML), и если да, то где я должен сначала узнать о такой вещи?

php   image    

185   7   23:21, 29th August, 2020


Как я могу объединить массивы PHP?

У меня есть два массива животных (например).

$array = array(
    array(
        'id' => 1,
        'name' => 'Cat',
    ),
    array(
        'id' => 2,
        'name' => 'Mouse',
    )
);

$array2 = array(
    array(
        'id' => 2,
        'age' => 321,
    ),
    array(
        'id' => 1,
        'age' => 123,
    )
);

Как я могу объединить два массива в один с помощью ID?

php   arrays    

169   10   13:04, 11th August, 2020


Как предотвратить тайм-аут сеанса в Symfony 1.0?

Я использовал фреймворк PHP MVC Symfony для создания веб-приложения по требованию.

У него есть досадная ошибка-сеанс истекает примерно через 15-30 минут бездействия. Существует директива конфигурации для предотвращения истечения срока действия сеанса, но она не работает. Даже обходные пути, такие как этот, не помогли мне.

Я не намерен мигрировать в Symfony 1.1 (который исправляет эту ошибку) в обозримом будущем.

Кто-нибудь был там и решил это? Я был бы очень благодарен за подсказку или два!

php   symfony1    

204   4   21:39, 20th August, 2020


Удаленная отладка PHP сценариев командной строки с помощью Zend?

Я использую Zend Studio для удаленной отладки моих скриптов php на сервере разработки. Он отлично подходит для веб-кода, но могу ли я заставить его работать со сценариями командной строки?

У меня есть несколько вспомогательных приложений, чтобы заставить мое приложение работать. Было бы очень полезно запустить удаленный отладчик через командную строку вместо веб-браузера, чтобы я мог проверить их.

Я предполагаю, что это возможно, так как я думаю, что Zend использует xdebug для разговора с Eclipse. По-видимому, он добавляет некоторые параметры к запросу, чтобы разбудить код Zend по запросу. Я предполагаю, что мне нужно будет подключиться к этому?

UPDATE

Я закончил тем, что использовал xdebug с protoeditor over X для отладки.

php   debugging   xdebug   zend-studio    

196   5   12:14, 22nd August, 2020


Наиболее эффективный способ получить данные из базы данных в сеанс

Каков самый быстрый способ получить большой объем данных (подумайте о гольфе) и самый эффективный (подумайте о производительности), чтобы получить большой объем данных из базы данных MySQL в сеанс, не продолжая делать то, что у меня уже есть:

$sql = "SELECT * FROM users WHERE username='" . mysql_escape_string($_POST['username']) . "' AND password='" . mysql_escape_string(md5($_POST['password'])) . "'";
$result = mysql_query($sql, $link) or die("There was an error while trying to get your information.\n<!--\n" . mysql_error($link) . "\n-->");
if(mysql_num_rows($result) < 1)
 {
    $_SESSION['username'] = $_POST['username'];
    redirect('index.php?p=signup');
 }
$_SESSION['id'] = mysql_result($result, '0', 'id');
$_SESSION['fName'] = mysql_result($result, '0', 'fName');
$_SESSION['lName'] = mysql_result($result, '0', 'lName');
...

И прежде чем кто-нибудь спросит "да", мне действительно нужно "SELECT

Edit: Да, Я дезинфицирую данные, так что не может быть никакой инъекции SQL, которая находится дальше в коде.

php   mysql   session    

162   10   06:22, 10th August, 2020


Итерация по сложному ассоциативному массиву в PHP

Есть ли простой способ перебрать ассоциативный массив этой структуры в PHP:

Массив $searches имеет нумерованный индекс, содержащий от 4 до 5 ассоциативных частей. Поэтому мне нужно не только перебирать $searches[0] через $searches[n], но и $searches[0]["part0"] через $searches[n]["partn"] . Трудная часть заключается в том, что разные индексы имеют разное количество частей (некоторые могут отсутствовать один или два).

Мысли о том, чтобы сделать это так, чтобы это было приятно, аккуратно и понятно?

php   arrays   associative-array    

153   7   01:28, 5th August, 2020


Когда в классе PHP5 вызывается частный конструктор?

Допустим, я пишу класс PHP (>= 5.0), который должен быть singleton. Все документы, которые я читал, говорят о том, чтобы сделать конструктор класса закрытым, чтобы класс не мог быть непосредственно создан.

Так что если у меня есть что-то вроде этого:

class SillyDB
{
  private function __construct()
  {

  }

  public static function getConnection()
  {

  }
}

Есть ли случаи, когда __construct() вызывается иначе, чем если я делаю a

new SillyDB() 

позвонить внутрь самого класса?

И почему мне вообще позволено создавать экземпляр SillyDB изнутри самого себя?

php   oop   constructor    

170   5   17:17, 18th August, 2020


Использование MySQLi-что лучше для закрытия запросов

У меня есть привычка сводить использование переменных к минимуму. Поэтому мне интересно, есть ли какое-либо преимущество, которое можно получить следующим образом:

$query = $mysqli->query('SELECT * FROM `people` ORDER BY `name` ASC LIMIT 0,30');

// Example 1
$query = $query->fetch_assoc();

// Example 2
$query_r = $query->fetch_assoc();
$query->free();

Теперь, если я прав, Пример 1 должен быть более эффективным, поскольку $query - это unset , когда я переназначаю его, что должно освободить любую память, связанную с ним. Однако есть метод (MySQLi_Result::free()), который освобождает ассоциированную память - это одно и то же?

Если я не вызываю ::free() , чтобы освободить память, связанную с результатом, но unset , переназначив переменную, я делаю то же самое? Я не знаю, как регистрировать такие вещи - у кого-нибудь есть идеи?

php   mysql   memory   mysqli    

205   2   07:27, 18th August, 2020


Любимая Библиотека PHP

Как мой первый вопрос, я иду против правил FAQ: это субъективный и аргументированный вопрос. Извини за это.

Во всяком случае, мне было интересно, какую библиотеку использует разработчик power PHP. Не полный фреймворк (например, cakePHP), который заставляет вас кодировать и организовывать файлы определенным образом, а библиотека, полная полезных помощников, необходимых функций (немного похоже на прототип для JS). Конечно, есть SPL, но помимо этого?

php    

168   6   23:23, 11th August, 2020


Как реализовать веб-скребок в PHP?

Какие встроенные функции PHP полезны для веб-скрейпинга? Каковы некоторые хорошие ресурсы (веб или печать) для получения до скорости на веб-скрейпинга с PHP?

php   screen-scraping    

164   10   20:00, 21st August, 2020


DOM манипуляции в PHP

Я ищу хорошие методы манипулирования HTML в PHP. Например, проблема, с которой я в настоящее время имею дело, - это проблема с деформированным HTML.

Я получаю входные данные, которые выглядят примерно так:

<div>This is some <b>text

Как вы заметили, в HTML отсутствуют закрывающие теги. Я мог бы использовать парсер regex или XML для решения этой проблемы. Тем не менее, вполне вероятно, что в будущем мне придется делать другие манипуляции DOM. Интересно, есть ли какие-нибудь хорошие библиотеки PHP, которые обрабатывают манипуляции DOM подобно тому, как Javascript справляется с манипуляциями DOM.

php   html   dom    

186   4   12:06, 3rd August, 2020


Как установить расширение php_gd2 в MAMP на Mac?

Я запускаю MAMP 1.7.2 на Mac и хотел бы установить расширение php_gd2. Как мне это сделать? Я знаю, что на Windows с помощью WAMP я бы просто выбрал запись php_gd2 в меню расширений, чтобы активировать ее. Как это делается при использовании MAMP? Я знаю, что могу сделать это с помощью MacPorts, но я бы предпочел не вносить никаких изменений в мою установку OS X по умолчанию PHP.

php   mamp    

129   2   06:54, 24th August, 2020


PHP эквивалент .NET/Java's toString()

Как преобразовать значение переменной PHP в строку?

Я искал что-то получше, чем сцепление с пустой строкой:

$myText = $myVar . '';

Как метод ToString() в Java или .NET.

php   string    

141   24   04:26, 12th August, 2020


Имеет ли PHP эквивалент этому типу подстановки строк Python?

Python имеет этот замечательный способ обработки подстановок строк с помощью словарей:

>>> 'The %(site)s site %(adj)s because it %(adj)s' % {'site':'Stackoverflow', 'adj':'rocks'}
'The Stackoverflow site rocks because it rocks'

Мне это нравится, потому что вы можете указать значение один раз в словаре, а затем заменить его по всему месту в строке.

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

У кого-нибудь есть хороший чистый способ сделать такую замену строки в PHP?

Редактировать
Вот код со страницы sprintf, который мне больше всего понравился.

<?php

function sprintf3($str, $vars, $char = '%')
{
    $tmp = array();
    foreach($vars as $k => $v)
    {
        $tmp[$char . $k . $char] = $v;
    }
    return str_replace(array_keys($tmp), array_values($tmp), $str);
}

echo sprintf3( 'The %site% site %adj% because it %adj%', array('site'=>'Stackoverflow', 'adj'=>'rocks'));
?>

php   python   string    

142   3   12:36, 13th August, 2020


Как выбрать посты с определенными тегами / категориями в WordPress

Это очень конкретный вопрос, касающийся MySQL , как он реализован в WordPress .

Я пытаюсь разработать плагин, который будет показывать (выбирать) сообщения, которые имеют определенные "теги" и принадлежат к определенным "категориям" (оба несколько)

Мне сказали, что это невозможно, потому что так хранятся категории и теги:

  1. wp_posts содержит список должностей, каждая должность имеет "ID"
  2. wp_terms содержит список терминов (как категорий, так и тегов). Каждый термин имеет двигатели СМД -
  3. wp_term_taxonomy имеет список терминов с их TERM_IDs и имеет определение таксономии для каждого из них (либо категория, либо тег)
  4. wp_term_relationships имеет связи между терминами и должностями

Как я могу присоединиться к таблицам, чтобы получить все записи с тегами "Nuclear" и "Deals", которые также относятся к категории "Category1"?

php   mysql   sql   wordpress   plugins    

168   6   13:32, 17th August, 2020


Передача значений $_POST с помощью cURL

Как передать $_POST значений на страницу с помощью cURL ?

php   post   curl    

192   8   12:16, 17th August, 2020


Какой кэшер PHP opcode следует использовать для повышения производительности?

Я пытаюсь улучшить производительность при высокой нагрузке и хотел бы реализовать кэширование кода операции. Какой из следующих вариантов следует использовать?

Я также открыт для любых других альтернатив, которые ускользнули от моего радара.

В настоящее время работает на складе Debian Etch с Apache 2 и PHP 5.2

[Обновление 1]

HowtoForge добавлены установочные ссылки

[Обновление 2]

Основываясь на полученных ответах и отзывах, я протестировал все 3 реализации, используя следующий план тестирования Apache JMeter в своем приложении:

  • Авторизоваться
  • Доступ К Домашней Странице

При наличии 50 одновременных подключений результаты выглядят следующим образом:

Нет Кэширования Кода Операции
No Opcode Caching

APC
APC

eAccelerator
eAccelerator

XCache
XCache

График производительности (чем меньше, тем лучше)
Performance Graph

Из приведенных выше результатов следует, что eAccelerator имеет небольшое преимущество в производительности по сравнению с APC и XCache. Однако самое важное из приведенных выше данных заключается в том, что любой вид кэширования кода операции дает огромную производительность boost.

Я решил использовать APC по следующим двум причинам:

  • Пакет доступен в официальном репозитории Debian
  • Более функциональная панель управления

Чтобы подвести итог моему опыту:

Простота установки: APC > eAccelerator > XCache
Производительность: eAccelerator > APC, XCache
Панель Управления: APC > XCache > eAccelerator

php   performance   caching    

222   7   21:02, 27th August, 2020


Определите Родительский Узел Элемента DOMElement

Я перевожу свой код C# для YouTube видео-комментариев в PHP. Чтобы правильно вложить ответы на комментарии, мне нужно перестроить узлы XML. В PHP я использую DOMDocument и DOMXPath, что близко соответствует C# XmlDocument. Я довольно далеко продвинулся в своем переводе, но теперь я застрял на получении родительского узла a DOMElement. В DOMElement не имеет свойства parent_node(), только DOMNode предусматривает, что собственность.

После определения того, что комментарий является ответом на предыдущий комментарий, основанный на строке "in-reply-to" в элементе ссылки, мне нужно получить его родительский узел, чтобы вложить его под комментарий, на который он отвечает:

// Get the parent entry node of this link element
$importnode = $objReplyXML->importNode($link->parent_node(), true);

php   xml   dom    

176   3   21:21, 25th August, 2020


Влияние кэша кода операции на использование памяти

Может ли кто-нибудь сказать мне, что такое накладные расходы на использование памяти, связанные с кэшем кода операции PHP ?

Я видел много обзоров opcode cache , но все они только концентрируются на повышении производительности. У меня есть небольшой начальный уровень VPS, и ограничения памяти беспокоят меня.

php   opcode-cache    

122   3   15:11, 15th August, 2020


Получить размеры каталогов на удаленном хосте с помощью скрипта PHP

Я ищу что-то, что покажет мне размер каждой папки в моей основной папке рекурсивно.

Это сервер LAMP с CGI-Bin, поэтому большинство сценариев PHP должны работать или все, что будет работать в CGI-Bin.

Моя хостинг-компания не предоставляет интерфейс для меня, чтобы увидеть, какие папки потребляют наибольшее количество места. Я ничего не знаю в интернете и сделал несколько поисков, однако я пришел без каких-либо результатов.

Что-то, реализующее графики (GD / ImageMagick), было бы лучше, но не требуется.

Мой хост поддерживает только Perl в CGI-BIN.

php   hosting   cgi    

138   2   20:05, 8th August, 2020


Простой PHP-класс для Twitter API на OAuth?

Вчера обнаружили, что класс, который мы используем, более не может нам помочь с обновлением статуса в Твиттере, т.к. он основан на простой авторизации, которая недоступна со вчерашнего дня. Использовал класс от Felix Oghina, использование которого, в принципе, сводилось к:

$twitter = new Twitter(TWITTER_LOGIN, TWITTER_PASSWORD);<br/>
$success = $twitter-&gt;update($newstatus);<br/>



Не смог подобрать подходящий класс на OAuth. Буду признателен.

PHP   OAuth   Twitter    

63   5   01:24, 21st August, 2020


Потокобезопасность классов

Кто как реализует потокобезопасность в своих классах при работе с разделяемыми ресурсами? Статический класс? Синхронизация (мьютексы, критические секции)? Статические члены класса?

Обращаете ли вы внимание на т.н. «Double-checked locking» (пресловутый Singleton, например). Что делаете?

Поделитесь своими решениями…

PHP   +1   ещё    

133   1   15:10, 24th August, 2020


Посоветуйте компьютерную мышку

Мучаюсь перед выбором компьютерной мышки, но все никак не могу найти свой идеал. В данный момент у меня Mighty Mouse что шла в комплекте с iMac и она меня достала тем, что скролл постоянно залипает.

Требования к мышке:
— бесшумность (чтобы как можно тише клацали кнопки и скролл)
— эргономичность (чтобы рука отдыхала на мышке и ее можно положить целиком)
— проводная
— имела режимы переключения DPI (хотя бы два режима 800-1800 и обязательно кнопка переключения DPI сверху на мышке, а не под ней)
— совместимость с MacOS
— опционально, скролл в горизонтальном направлении

Кто видел такую?

PHP   +1   ещё    

49   7   13:40, 20th August, 2020


Несколько баз Redis на хосте

Есть ли возможность разместить несколько отдельних баз данных Redis на одном хосте?

По-крайней мере, в php драйверах нет возможности задать конкретную базу. Использование псевдонимов (где-то в интернете был такой вариант) не катит — слышком слабая защита.

PHP   Redis    

129   3   11:05, 9th August, 2020


Как статьи из Википедии привязываются к GoogleMaps

В частности почему статью bit.ly/dzTQYI видно на карте, а статью bit.ly/b78LOf нет?

PHP   +1   ещё    

140   2   10:00, 5th August, 2020


Пакетное форматирование исходников (php/html/js + mix)?

Посоветуйте тулзу, при помощи которой можно пакетно отформатировать исходники. Максимально настраиваемое, и что б нативные шаблоны с JS-вставками обрабатывало.


Желательно с наличием предустановленных профилей (Zend/Symfony1), поддержкой php 5.3.


Форматировщик в составе Netbeans последней стабильной версии мне подходит, но каждый файл нужно открывать руками. Может макрос какой для этого есть?

PHP    

127   3   11:30, 12th August, 2020


OpenID библиотека для PHP

Есть очень много реализация для PHP, нужна простая и/или ООП.

Кто-то что использует, порекомендуйте.

PHP   OpenID    

67   4   22:25, 18th August, 2020


Сколько хранятся файлы при загрузке (php)?

При загрузке файлов методом POST файлы сохраняются во временную папку, которая установлена директивой upload_tmp_dir. Какое время он там храниться, если с ним ничего не делать? До окончания работы скрипта? Или?

PHP    

148   1   11:57, 12th August, 2020


Какова русскоязычная аудитория Твиттера на сегодня?

Искал примерные хотя бы цифры. Самые свежие данные, которые нашел — 183 тысячи ру-аккаунтов по данным Яндекса на март 2010. Может кто наталкивался на что-то более актуальное?

PHP   +1   ещё    

39   2   01:32, 19th August, 2020


Какой из php-фреймворков более перспективный?

Какой из перечисленных php-фреймворков более перспективный:
1. Zend
2. Kohana
3. CodeIgniter
4. Yii
5. Свой вариант

PHP   Фреймворки    

131   6   14:32, 15th August, 2020


Virtualmin настройка дефолтного ящика для mail() в php?

На сервере стоит LAMP и Virtualmin. Как настроить ящик с которого будет отправляться почта функцией mail() в php на виртуальном сервере. Если есть такое в Virtualmin, то желательно как это сделать с помощью него, если нет то подскажите в сторону каких конфигов или направлений копать.

PHP   LAMP   Электронная   почта    

63   2   17:46, 22nd August, 2020


Как не заснуть на работе?

Сижу перед монитором и глаза будто песком набиты. Есть какие-нибудь эффективные методы проснуться? Кто как себя будит? Кофе не предлагать — уже выпито :)

PHP   +1   ещё    

65   17   22:39, 22nd August, 2020


Мультиязычный транслит на PHP?

Нужно из текста на любом языке получать близкий по звучанию текст в ANSII.

Существует ли такое решение на php?

PHP   Транслитерация    

135   6   07:54, 18th August, 2020


Как заставить Cogear использовать базы Sqlite?

Возникла необходимости использовать Cogear с Sqlite-базой.

Так как он основан на Codeigniter, который эти базы поддерживает, проблем, как мне кажется, быть не должно.


Куда копать?

PHP   SQLite    

67   2   23:22, 1st August, 2020


Почему singleton круче global?

Собственно все жутко плюются и зеленеют при виде глобальных переменных и ратуют за использование вместо них Singleton-ов.

Собственно почему?

p.s. тема без холиворная, просто интересно, сейчас вот на гребне этой моды буду у себя вычищать глобалы (шаблон, юзер, конфиг)

PHP   Паттерны   проектирования    

145   14   17:36, 8th August, 2020


Чем сгенерировать WSDL из PHP-кода?

Есть некоторое количество классов (в Zend, symfony и другие), которые так или иначе упрощают создание WSDL, но какие-то они мутные.
Хотелось бы генерировать WSDL в IDE, как делают все белые люди принято у дотнетчиков. По слухам старая Zend Studio умела это делать, новая — нет.
А чем генерируете вы?

PHP   SOAP   WSDL    

92   5   14:46, 5th August, 2020


Проверка занятости домена

Необходимо сделать на сайте проверку занятости домены, как это делают у себя на главной многие хостеры. Как это можно сделать по разумному. Ничего умнее парсинга curl'ом уже существующего сайта с такой проверкой не придумал :(

PHP   Рынок   доменных   имен    

98   5   19:54, 16th August, 2020


Как организован сервис audiko.net

Привет всем.

Кто подскажет как технически организован данный сервис.

В частности интересует каким образом организована обрезание трека. Если на стороне сервера, то какими средствами.
И как генерируется waveform.

PHP   +1   ещё    

40   1   08:09, 27th August, 2020


Какова русскоязычная аудитория Твиттера на сегодня?

Искал примерные хотя бы цифры. Самые свежие данные, которые нашел — 183 тысячи ру-аккаунтов по данным Яндекса на март 2010. Может кто наталкивался на что-то более актуальное?

PHP   +1   ещё    

136   2   22:46, 17th August, 2020


Какой из php-фреймворков более перспективный?

Какой из перечисленных php-фреймворков более перспективный:
1. Zend
2. Kohana
3. CodeIgniter
4. Yii
5. Свой вариант

PHP   Фреймворки    

43   6   22:20, 2nd August, 2020


Virtualmin настройка дефолтного ящика для mail() в php?

На сервере стоит LAMP и Virtualmin. Как настроить ящик с которого будет отправляться почта функцией mail() в php на виртуальном сервере. Если есть такое в Virtualmin, то желательно как это сделать с помощью него, если нет то подскажите в сторону каких конфигов или направлений копать.

PHP   LAMP   Электронная   почта    

58   2   02:20, 15th August, 2020


Как не заснуть на работе?

Сижу перед монитором и глаза будто песком набиты. Есть какие-нибудь эффективные методы проснуться? Кто как себя будит? Кофе не предлагать — уже выпито :)

PHP   +1   ещё    

136   17   23:07, 7th August, 2020


Мультиязычный транслит на PHP?

Нужно из текста на любом языке получать близкий по звучанию текст в ANSII.

Существует ли такое решение на php?

PHP   Транслитерация    

94   6   08:27, 28th August, 2020


Как заставить Cogear использовать базы Sqlite?

Возникла необходимости использовать Cogear с Sqlite-базой.

Так как он основан на Codeigniter, который эти базы поддерживает, проблем, как мне кажется, быть не должно.


Куда копать?

PHP   SQLite    

45   2   21:06, 22nd August, 2020


Почему singleton круче global?

Собственно все жутко плюются и зеленеют при виде глобальных переменных и ратуют за использование вместо них Singleton-ов.

Собственно почему?

p.s. тема без холиворная, просто интересно, сейчас вот на гребне этой моды буду у себя вычищать глобалы (шаблон, юзер, конфиг)

PHP   Паттерны   проектирования    

46   14   19:55, 28th August, 2020


Чем сгенерировать WSDL из PHP-кода?

Есть некоторое количество классов (в Zend, symfony и другие), которые так или иначе упрощают создание WSDL, но какие-то они мутные.
Хотелось бы генерировать WSDL в IDE, как делают все белые люди принято у дотнетчиков. По слухам старая Zend Studio умела это делать, новая — нет.
А чем генерируете вы?

PHP   SOAP   WSDL    

143   5   05:51, 5th August, 2020


Проверка занятости домена

Необходимо сделать на сайте проверку занятости домены, как это делают у себя на главной многие хостеры. Как это можно сделать по разумному. Ничего умнее парсинга curl'ом уже существующего сайта с такой проверкой не придумал :(

PHP   Рынок   доменных   имен    

103   5   04:21, 5th August, 2020


Как организован сервис audiko.net

Привет всем.

Кто подскажет как технически организован данный сервис.

В частности интересует каким образом организована обрезание трека. Если на стороне сервера, то какими средствами.
И как генерируется waveform.

PHP   +1   ещё    

79   1   11:52, 16th August, 2020


Существует ли в природе form-builder (PHP) + validator (client+server) в одном флаконе?

Существует ли гибкий form-builder (PHP), позволяющий одновременно назначать правила для серверной и клиентской валидации?

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


Например, для клиентской валидации и построения всяких вкусностей типа повторяющиеся блоки (к примеру zforms.ru/docs/repeatable-model/) есть красивые решения типа zforms.ru/ от разработчика интерфейсов компании Яндекс Дмитрия Филатова
Да и просто, для валидации полно плагинов с использованием jQuery.
В конце концов есть Vanadium: семантическая валидация на клиенте

Для построения форм и серверной валидации есть замечательная библиотека Алексея Борзова и, как поправил меня сам Алексей, — Bertrand Mansion: HTML_QuickForm2.

Есть первая версия HTML_QuickForm, которая позволяет делать то, что требуется, т.е. строить формы и на основании запрашиваемых правил серверной валидации на лету генерировать правила клиентской валидации, но у нее есть огромный минус — невозможность простыми способами строить сложные формы, т.е. когда требуется например группу полей добавлять в группу, зато ей очень хорошо удаются плоские формы.

Дмитрий Филатов на мой вопрос есть ли обертка для построения таких форм ответил мне в МоёмКруге:
Есть не обертка на PHP, а xml-описание правил валидации, из которого строится с помощью xsl клиентский код и которое может быть использовано для серверной валидации.


Алексей Борзов на вопрос о дальнейшей судьбе HTML_QuickForm2 ответил:
HTML_QuickForm2 в альфе потому, что опять же недописана функциональность (а именно интеграция с жаваскриптом). Но в отличие от старой версии он почти на 100% покрыт тестами и по стабильности явно не хуже...


Другими словами, есть дикое желание подружить HTML_QuickForm2 и zforms.ru, но перед этим хотел бы поинтересоваться у «ленивых программистов», как они борются с ленью при построении форм и двойной работой по проверке вводимых данных?

update: вопрос решил путем запуска проекта jquickform.ru/

PHP   JavaScript   Валидация    

88   9   01:14, 13th August, 2020


Биты и байты

Почему объем меряют в Хбайтах (кило, мега, гига, тера), а скорость () — в Хбит/с, почему не в Хбайт/с?

PHP   +1   ещё    

44   3   19:51, 2nd August, 2020


Какой программой (под Win XP) можно скачать сайт с сохранением структуры папок и файлов?

Структура папок не должна изменяться, файлы должны быть с оригинальным названием.
Также программа должна скачать JS, CSS, картинки. В общем локальная копия сайта. Скачиваемый сайт на HTML + JS. Например в страницах есть превьюшки картинок которые раскрываются по клику, полные картинки тоже нужны.

Teleport Pro не совсем удачно справился с задачей. Какие есть еще варианты.

PHP   +1   ещё    

134   6   01:12, 22nd August, 2020


Испольование в одной таблице пары instance_id, instance_type в Doctrine

Здравствуйте,

столкулся с проблемой в doctrine.

Представьте есть три основных таблицы — participant, team, region.
Еще одна, пусть называется log, в которой храняться абсолютно одинаковые по структуре данные — rank, points, position и так далее для каждого объекта из первых таблиц.

Необходимо сделать так, чтобы по instance_id и instance_type можно было связать две таблицы — log и какую-то из основных, в зависимости от instance_type.

На первый взгляд все довольно просто, но после того как описал через обычный Doctrine_Query::create() и leftJoin, или через Doctrine_RawQuery::create() выдается ошибка, что не можен провести «гидрацию», т.к. у объекта Log нету связи на instance.

Если кто-то стыкался с такой трудностью, подскажите, пожалуйста, решение.

PHP   Doctrine   ORM   Базы   данных   Администрирование   баз   данных    

123   2   02:01, 25th August, 2020


PHP-функция mail(), 5-й аргумент?

Универсальный почтовый скрипт PHPMailer при отправке письма с помощью функции mail() в качестве 5-го аргумента функции подставляет строку "-oi -f [email protected]".

Популярный фреймворк CodeIgniter делает тоже самое, только без флага "-oi".



Но valuehost.ru не отправляет письмо, если в 5-м параметре есть ключ "-f".



Не хочется (да и неправильно это) изменять код фреймворка. Правильнее было бы внести нужные изменения в настройки сервера, я думаю. Проблема в том, что я не знаю, какие это должны быть настройки (надеюсь, админы валюхоста пойдут навстречу, если я им подскажу, что и где исправить).



Кто-нибудь сталкивался с такой проблемой? Кто-нибудь знает, по каким причинам mail() может отказываться работать с ключом "-f"?



Заранее очень благодарю :)

CodeIgniter   Электронная   почта   PHPMailer    

30   6   21:41, 9th August, 2020


Бекапы версий контента при создании статьи как реализовать? (PHP, MySql)?

К примеру в вордпрессе есть такая фишка
20100917-qcqt-19kb.jpg


То есть на каждую статью приходится несколько версий, сохраненных через некоторый интервал с возможностью отката на каждую из них. Подскажите пожалуйста, как это грамотно реализовать средствами PHP и MySQl! Спасибо

PHP   MySQL   CVS    

19   5   21:35, 1st August, 2020


ActiveRecord для PHP5.2

Может кто-нибудь подсказать хороший класс (не в фреймворке, можно использовать без него) для ActiveRecord работающий под PHP5.2?

PHP    

113   6   18:16, 18th August, 2020


Генерация xls (excel) файлов в PHP через Spreadsheet_Excel_Writer. Отступ у ячейки

Собственно в этом и есть вопрос. Нужно поставить у ячейки отступ с левого края. В документации ни слова о таком. Есть margin у самого листа. А вот у Format ни padding'a, ни margin'a, ни indent'a не обнаружил.

Использовать phpexcel не представляется возможным.

Спасибо.

PHP   Excel    

110   1   20:23, 9th August, 2020


Nginx + php-fpm + freebsd. проблема?

Собрал из портов nginx и php5 с php-fpm



Создал vhost для nginx

server {<br/>
 server_name site1;<br/>
 listen 80;<br/>
 access_log /server/logs/nginx/site1.access.log;<br/>
 error_log /server/logs/nginx/site1.error.log;<br/>
<br/>
location ~ \.php$ {<br/>
 fastcgi_pass 127.0.0.1:9000;<br/>
 fastcgi_index index.php;<br/>
 fastcgi_param script_FILENAME /server/www/site1$fastcgi_script_name;<br/>
 include fastcgi_params;<br/>
 }<br/>
 <br/>
 location / {<br/>
 root /server/www/site1;<br/>
 }<br/>
 <br/>
<br/>
}<br/>




Добавил в rc.conf

nginx_enable=&quot;YES&quot;<br/>
php_fpm_enable=&quot;YES&quot;<br/>




Запустил nginx и php-fpm

/usr/local/etc/rc.d/php-fpm start<br/>
/usr/local/etc/rc.d/nginx start<br/>




Результат:

PHP страницы не возвращают ничего, даже если это просто текст и там нет скриптов. В error.log nginxа php-fpmа ничего, в server/logs/nginx/site1.error.log тоже ничего.

Код ответа 200.



Кто может разъяснить?

Заранее спасибо.

PHP   Nginx   FreeBSD    

83   2   00:40, 7th August, 2020


Как создать свой тип ввода в modx 2.0 Revo?

В Modx есть возможность при создании tv-параметров выбирать тип поля для ввода: картинка, число, текст и другие. Заметил, что некоторые дополнительные пакеты ставят свои поля ввода. Но я пока так и не понял, как можно в системе создавать свои кастомизированные поля ввода. Просвятите?

CMS   PHP   MODX    

107   2   03:27, 1st August, 2020


Отключение выполнения php-скриптов для поддиректорий виртуального хоста Apache

Поскажите, пожалуйста, что прописать в конфиге Apache, чтобы в определенных директориях виртуального хоста не выполнялись php-скрипты. PHP подключен через mod_php5.

PHP   Apache   Компьютерные   сети   Юриспруденция   в   IT    

129   6   08:29, 11th August, 2020


Нагрузка от Doctrine

Умею спортивный интерес, как сильно грузит сервер использование Doctrine? Пробовал версию 1.2, очень смутило, что только подключение доктрины сразу увеличивает расход памяти на страницу на 3 МБ…

А в целом штука очень понравилась, поэтому хотелось бы использовать. Как дела обстоят с версией 2.0?

PHP   Doctrine   ORM    

143   5   20:45, 23rd August, 2020


Freebsd + php-fpm?

Что скажите по такой связке? Дествительно ли работает быстрей чем linux + php-fpm?

PHP    

27   5   21:03, 4th August, 2020


Почему FastCGI+Nginx не видят настроек PHP?

Развернул на сервере классическую связку из Apache:8080+Nginx:80+FastCGI. При этом php при обращении к скриптам через 80 порт перестал видеть свои настройки (загружаются дефолтные). Пробовал выставлять настройки в php_value через .htaccess — всё равно они в упор не видятся.

А через 8080 порт все настройки нормально подтягиваются.

Сравните: clio.su/test.php vs. clio.su:8080/test.php (параметр upload_max_filesize для тестирования в php.ini выставлен 4M, в .htaccess 8M, default 2M)



Что нужно подправить в nginx.conf (httpd.conf), чтобы php.ini тоже принимал участие в работе связки через fastcgi? Чувствую, что решается проблема элегантно, но перелопатив яндекс, я не нашёл решения.



PS: И ещё попутный вопрос, тоже связанный с fastcgi. При использовании php функции mail() вся почта теперь отправляется с полем FROM: <[email protected]внутреннее_имя_сервера>… и соответственно заруливается почтовиками по причине недействительности адреса. Переменная php sendmail_from не применяется.



UPD: Небольшое уточнение. У нас spawn_fcgi

PHP   Nginx   FastCGI    

70   4   19:56, 15th August, 2020


watermark в ffmpeg без vhook

Как наложить watermark в ffmpeg без vhook?

PHP   FFmpeg   Водяной   знак    

77   2   23:49, 8th August, 2020


Как правильно учиться PHP / mySQL?

Я сам учусь программированию на PHP/Mysql, и хочу попросить совета у хабрасообщества.

Вот список литературы что я использую для индивидуальной учёбы:

PHP 5 для чайников (Джанет Валейд)
PHP в подлиннике (Дмитрий Котеров)
PHP полезные приемы ( А.Орлов)
PHP/MySQL для начинающих (Энди Харрис)
MySQL полное руководство. Второе издание (Поль Дюбуа)


Вопрос таков: Я правильные книги выбрал?

Порой читаю книгу и складывается ощущение, что автор писал что бы только продать книгу и получить прибыль.

Разумеется опытный программист понимает все что в книге написано, но где именно так книга в которой чётко объясняют тот или иной сайт, как он устроен, через какие операторы и что работает.

Ведь проще понять на примерах чем читать длинный текст про то как хорошо работает функция на одном примере и все.


Посоветуйте пожалуйста.


Может будет у кого нибудь ссылка на интерактивные видео курсы?

PHP   MySQL   Книги   IT-образование    

49   13   10:08, 9th August, 2020


json_encode в PHP: разрастание данных

В PHP есть встроенные средства преобразования данных в json. Рассмотрим пример:

echo json_encode(iconv('cp1251', 'utf-8', 'тест'));

Он вернет "\ u0442\ u0435\ u0441\ u0442" (пробелы дабы не искушать парсер) — это 26 байтов, а вовсе не 10, как хотелось бы.

Как же так?

PHP   JSON    

26   4   07:54, 13th August, 2020


Возврат к результатам поиска. (PHP)?

Не хочется изобретать велосипед, но толком решения найти немогу в сети. Поэтому пока не начал писать свое, хотел бы спросить у хабранаселения.


Имеется база данных, предположим, автомобилей. По поисковому запросу, состоящему примерно из 4-5 полей выводим список результатов, далее переходим на 4 страницу в результатах поиска. В итоге в URL у нас получается нечто подобное:

www.autosite.com/catalog/?page=4&param1=21&param2=...


На этой странице мы находим что нам нужно, и переходим на просмотр этого объекта:

www.autosite.com/view/id10001/


На странице просмотра этого объекта, необходимо выполнить, например, отправку заявки через форму на этот объект. Т.е. перезагрузить еще раз страницу.


Отсюда вопрос:

Как реализовать более корректно возврат к результатам поиска, т.е. таскание за собой постоянно в URL строку:

?page=4&param1=21&param2=33&param3=13&...&param44=123

Причем могут постоянно изменяться параметры поиска, добавляться-удаляться, и составление и таскание за собой этих параметров как-то не особо удобно. Пока что единственным вариантом вижу написание прослойки, которая будет обрабатывать любой входящий URL запрос и постоянно его передавать дальше. Хотя как-то это не очень красиво…

PHP    

131   13   08:52, 1st August, 2020


PHP. Сессии в БД. Кроссдоменная авторизация. Что-то я в этой жизни не понимаю?

Сессии хранятся в БД. Авторизация общая на 2 сайта(2 домена, сайты лежат рядом на одном сервере). Когда юзер авторизуется на одном сайте, происходит редирект на второй, где для session_name() прописывается та же величина, что и на первом сайте (в куках). Таблица с сессионными данными общая для 2х сайтов.

На старом хостинге все работало норм, на новом — пока нет.

Описание проблемы —

Я авторизовался с одного сайта. Захожу на второй, из базы извлекаются данные(фунция read), тут все норм. Но — сразу после session_start(), делаю print_r($_SESSION) и вижу пустой массив. Т.е. строку отдал, получил — … ничего не получил. Так происходит только с данными записанными на одном сайте, которые я пытаюсь прочитать на другом.

Что нашел — данные на старом хостинге писались в виде сериализованного масссива. Здесь же — 'rJFJvf6LVaiQoSWdAHmIFSu5Zfx-393AnbN81sd2B5jmEeWlhKYJB_E9Lv93BjVw'. Может быть в этом дело.


session.serialize_handler = php на обоих хостингах

php — 5.2.4(старый) / 5.2.14(нов)

все настройки php блока session — одинаковые.


Спасибо!

PHP   Сессии    

120   4   09:43, 5th August, 2020


Можно ли нормально искать по твиттеру?

Твиттер не хочет находить то, что было написано в нем около двух недель назад.
Иногда спасает поиск гугла по сайту (site:twitter.com), но далеко не всегда.
Сами твиты есть – они гарантированно не удалены, их можно просмотреть.

Существует ли нормальный способ искать по содержимому твитов? А то оказываешь в ситуации, когда помнишь что информация (даже среди тех, кого ты зафолловил) проходила, но поиском её найти невозможно. Перечитывать все твиты даже за неделю очень долго.

PHP    

82   4   04:36, 9th August, 2020


Стоит ли хранить данные о пользователе в сессиях?

И собственно вопрос как лучше это делать.

Т.е к примеру я авторизую пользователя на сайте, создаю сессию и ее ID записываю в куку.

Далее, у пользователя есть куча данных, его логин, ID, ID всех городов, стран и областей проживания, его почта, теелфон и т.д. Все это может хранится в нескольких таблицах. Доступ к этим данным необходим если не на каждой странице то очень часто и везде дергать MySQL выбирая нужные данные, пускай и универсально, не очень хочется.

Возникает вопрос, стоит ли хранить всю пачку данные привязывая их к сессиям и как это сделать универсальнее, дабы потом легко эти данные выдергивать.

Т.е писать в таблицу:

session_id | serialize_data

или иначе как-то?

Все на любимом РНР )

PHP   Сессии    

103   5   02:20, 7th August, 2020


Есть ли здесь люди, разбирающиеся в Shop-Script?

Есть у меня магазинчик на этом движке. Давно с этим движком уже не работаем, другие магазины на CS-Cart. Нужен доктор по Shop-script, полечить больного. Есть такие?

PHP    

110   3   21:01, 8th August, 2020


Куда идти после php? Ruby или Python?

Собственно вопрос в заголовке :) Хочется услышать принципиальные различия между языками. Для каких задач что лучше подходит?

Ruby   PHP   Python   Веб-разработка    

136   27   18:52, 15th August, 2020


Муки выбора PHP-фреймворка для разработки сайта, ориентированного на мобильных пользователей

Привет,

Возникло желание изобрести велосипед сделать некий весьма ёмкий сайт для мобильных устройств (смартфонов и им подобных) — т.е., html-ный. Есть желание реализовать на PHP, в связи с чем возникает вопрос: каким PHP-фреймворком воспользоваться?

Пожеланий крайне немного:

  • Не заумная документация (можно даже на русском :))
  • Наличие легкого MVC
  • Поддержка (реализация?) i18n
  • Легкий интерфейс к БД (mysql): мне все еще кажется, что зачастую запрос можно написать и руками; еще мне кажется, что у ZF с DBA перемудрили
  • (желательно) Отсутствие излишеств :)


Городить с самого начала — очевидно, потеря времени. Разбираться во всем многообразии — с ума сойти можно. Может, порекомендуете?

Спасибо.

PHP   MySQL   Фреймворки    

104   8   07:54, 28th August, 2020


Схема хранения изменяющихся данных с историей

Есть около 300 тыс объектов ( например легковых автомобилей) для каждого автомобиля раз в неделю производится замер параметров ( пробег, давление в шинах, количество топлива), параметров будет в районе 20 штук, нужно все это хранить в базе.

В освновном пользователей интерисуют только последние параметры. Но иногда необходимо отвечать на вопросы типа «А как менялось давление в шинах во времени», «А какие параметры менялись на прошлой неделе»

Интуиция говорит, что наверное надо смотреть в сторону mongo, но тех задание явно говорит, что будем использовать Mysql :)

Пока родилось два варианта

1)

Первая таблица (название data)

id| object_name | param1 | param1_is_changed | param1_change_date | param2…

Вторая таблица (название data_history)

id| object_name | param1 | param1_is_changed | param1_change_date | param2… | version | change_date

При каждом изменении любого параметра, предыдущая версия записывается в data_history, у того параметра который изменился ставится влажок is_changed

2) Первая таблица (название data)

id| object_name

Вторая таблица ( хранит только последние значения)

id | object_id | param_name | param_value | date

Третья таблица ( хранит историю значений из второй таблицы)


Сейчас мы отслеживаем около 50 тыс объектов, в неделю происходит около 200 изменений в параметрах. Все параметры числовые, поэтому вопрос избыточности хранения в первом случае волнует только в плане производительности БД, но никак не места на диске. Второй метод вроде хорош, но его не очень просто реализовать используя ORM.

Ваше мнение? как спроектировать DB? как найти компромисс между эффективной БД и удобством написания приложения к ней.

PHP   MySQL   Базы   данных    

137   7   21:54, 23rd August, 2020


OpenID+OpenAPI+всякие другие сервисы авторизации на PHP?

Язык — PHP. подскажите библиотечку, которую можно использовать для кроссервисной авторизации у себя на проекте. чтобы туда можно было подключать сервис, а на выходе получать от нее стандартные параметры авторизованного человека или не авторизованного.


по сути от пользователя надо получить только название сервиса, через который надо его авторизовать, а потом ответ сервиса правильно обработать…

PHP   Facebook   OpenID   ВКонтакте    

34   3   09:15, 16th August, 2020


Защита PHP скрипта от изменения / копирования

Какой, по вашему мнению, наилучший способ защитить свой проект на PHP от копирования и/или изменения. Рассматриваются любые варианты.

UPD.
Проект на PHP 5.3

PHP    

79   3   18:06, 18th August, 2020


Можно ли в php определить скачан файл или нет?

Необходимо понять можно ли используя php определить скачан файл или нет, если да, то сколько раз.


Я что-то такой возможности не помню и не вижу.

Можно сделать c использованием AJAX + PHP,

но это не то.

PHP    

148   7   19:21, 5th August, 2020


PHP framework или CMS c поддержкой FireBird

Есть клиентское приложение использующее базу Firebird. Нужно сделать для нее веб-интерфейс (хотя бы просмотр). Существует ли framework или CMS которые изначально поддерживают эту базу, чтобы не изобретать свой велосипед.

CMS   PHP   Firebird   Фреймворки    

134   4   21:58, 19th August, 2020


Отложенное выполнение кода в php

Приветствую!

Столкнулся с таким вопросом — как реализовать следующее:

Пользователь заходит на страницу a.php, его перенаправляет на b.php и в то же время вызывается и выполняется c.php
C.php — ресурсоемкий скрипт, который хотелось бы выполнять в фоновом режиме, в то время как пользователь дальше занимался своими делами на b.php

PHP    

30   14   07:52, 15th August, 2020


Как лучше отправлять нотификации из php?

Как лучше отправлять письма: через mail() или внешний smtp(google/yandex)?

Нотификаций будет достаточно много. Вероятно, каждую минуту или чаще.

PHP   Электронная   почта   SMTP    

134   7   12:53, 25th August, 2020


Как убрать пустые переходы строк в коде html страницы

Помогите решить проблему. Обрабатываю текст в php при помощи strip_tags(), затем вырезаю /n /t /r при помощи str_replace() но текст получается вот такого вида

Практика использования оффшорных компаний в мире.
В программе:

Оффшорные, низконалоговые и престижные европейские юри

Как избавиться от этих переходов чтобы текст выглядел в коде страницы в одну строку?

Практика использования оффшорных компаний в мире. В программе: Оффшорные, низконалоговые и престижные европейские юри

PHP    

146   5   12:00, 14th August, 2020


Рекурсивный запуск PHP скриптов?

Подскажите, возможно ли рекурсивно запускать скрипты?


Чтобы было яснее, приведу пример.

Пусть имеется список изображений (вида id — filepath), которые нужно обработать. Мы вызываем скрипт a.php с параметром id первого изображения, например a.php?id=1. Скрипт обрабатывает одно изображение и вызывает сам себя, но с параметром id следующего изображения, например a.php?id=2, а сам умирает. Возможно ли реализовать такую систему?

PHP    

59   7   21:59, 14th August, 2020


Есть ли готовые решения для построения дерева зависимостей между файлами?

Хотелось бы получить(json,ini, ассоциативный массив,xml- как угодно) дерево включения файлов(что-то вроде этого).

Задача может быть решена тремя путями:
  • 1. перегрузкой стандартных конструкций
  • 2. какими-то магическими параметрами в отладчике(xdebug торт, но полную информацию о зависимостях между файлами не даёт)
  • 3. grep-ом и созданием альтернатив(вроде ov_include и ловля источника через debug_backtrace)
  • 4. с помощью силы воли и глаз пройтись по всем файлам


Первый вариант требует вмешательство в интерпретатор и трудозатраты на актуализацию патча под новые версии php.
Второй мне неизвестен. На всякий случай, конфиг Xdebug:

zend_extension_ts="D:\PHP\ext\php_xdebug.dll"
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "D:\server\profiling\"
xdebug.trace_output_name = %t.%s.%H
xdebug.collect_params 1
xdebug.collect_return 1
xdebug.collect_vars 1
xdebug.default_enable 1
xdebug.show_mem_delta 1
php_flag xdebug.auto_trace 1
xdebug.trace_format 1


Третий классный и наверное самый простой, но с точки зрения производительности суровый(создали static списковый массив внутри функции, который проверяет не пытаемся ли мы зациклиться или включить уже имеющийся файл, обработать backtrace, записать результаты) когда много файлов.
Четвёртый для больших проектов не подойдет.

Зачем.
Сейчас джуниоров набираю, а документация для движка готова лишь на треть. Хочется на плоттере распечатать схему работы каждой страницы, чтобы ребятам не пришлось угадывать откуда и что.

PHP   Инфографика   Отладка    

47   4   18:17, 17th August, 2020


Удаление некоторого текста с помощью PHP

Оговорюсь, что я пока ещё ламер в PHP.

Допустим, есть ссылка:

<a href="#" title="Title">Link</a>

Как удалить?

 title="Title"

PHP   Контент    

123   4   22:14, 25th August, 2020


bitrix php размер каталога и память

Хочу сделать магазин на битриксе(порекомендовали)
Хотелось бы узнать как он работает с большими каталогами(30000 позиций товара)?
и объём потребляемой памяти какой будет при таких размерах каталога?
что бы сделать выводы по хостингу…

и может есть системы лучше и дешевле (интересно только php)?

CMS   PHP   1С-Битрикс   Интернет-магазины    

118   5   05:50, 9th August, 2020


Функция glob() в PHP?

Буквально недавно в проекте потребовалась функция поиска файлов по маске glob(). Но вот пока в раздумьях, стоит ли ее использовать, и насколько сильно она грузит сервер.


Задача такова:

Есть объект, предположим, автомобиль, у него есть 20-30 фотографий, которые складируются в 5 папок с разными размерами. Соответетсвенно при наличии в базе 20-30000 объектов фотографий может быть примерно около 150-200 000 файлов. Поиск по маске будет выполняться нечто типа такой: "/path/photos/[obj_id]_*.jpg" Так вот, что-то меня очень сильно смущает в использовании этой функции… И нигде не могу нарыть информацию о нагрузках.

PHP    

35   4   23:40, 26th August, 2020


Mod_auth_sspi странным образом роняет php. Как быть?

Привет, столкнулся я вот с такой проблемой.

Интранет сайт использует mod_auth_sspi для авторизации пользователей в домене.

На некоторых запросах php стал падать вот с такой ошибкой:


Warning: Attempt to assign property of non-object in D:\xampp\htdocs\info.php on line 5


Запросы на которых гарантированно все валится ничего особенного не делают. Создают и шлют довольно тяжелый запрос в БД. Но фишка в том, что запрос полностью отрабатывает, данные выводятся в браузер. Но следующий запрос, пусть даже к простейшему коду приведенному ниже, уже покажет ошибку, php уже калека.


<?php
class Test {
public $blank;
public function testIt($val){
$this->blank=$val;
}
}
$test=new Test;
$test->testIt('some value');



Т.е. любое обращение к свойствам класса через $this вызывает ошибку. Помогает рестарт апача.

Отключаю mod_auth_sspi и все работает как часы.

В логах apache ошибок нет.


Уж не знаю что и делать. Отписал на форум проекта на sourceforge, но на него надежды мало.


Сайт крутится под Windows Server 2003 R2 Standard Edition с XAMPP 1.7.3 (Apache 2.2.14, PHP 5.3.1)


p.s. На крайний случай, может как-то еще можно авторизовать в домене?

PHP   Apache    

126   2   23:25, 13th August, 2020


Zend Framework, MSSQL 2008 R2, PDO -> insert lastInsertId?

Как получить lastInsertId если делаешь в зенде

$model-&gt;insert(array(<br/>
 'data1' =&gt; $data1,<br/>
 'data2' =&gt; $data2,<br/>
));<br/>


$model->lastInserId(); — не работает…

PHP   Zend   Framework   SQL   Server    

78   2   21:48, 20th August, 2020


Округление в PHP

В документации к PHP, там где рассказывают про целые числа и, в частности, про перевод в int из float, говорят, что округление идет в сторону нуля и приводят такой пример:

<?php
echo (int) ( (0.1+0.7) * 10 ); // echoes 7!
?>

И у меня он действительно выводит 7.
Если же сделать

echo (int) ( (0.2+0.7) * 10 )

То выводит уже 9.

Я понимаю, что в первом случае восьмеркой является число 7.999999, которое в результате округления становится семеркой.

Вопрос(ы) в следующем:
  1. На всех ли машинах будут такие результаты?
  2. Это нормально?

PHP    

104   7   04:32, 3rd August, 2020


Оставлять логику PHP или отдавать JavaScript'у?

Пишу тизерную сеть и немного мучаюсь в сомнениях:
на рекламной площадке размещается код типа <script type=«text/javascript» src=«someurl.com/site_id/block_id»></script>
который, разумеется, подгружает уже полный JS-код для генерации тизерного блока.
Вот я и думаю — передавать клиенту уже отрендеренный блок (логика в php), или отдавать только данные блока в, например, JSON-формате, а рендерить его средствами JS (логика в JS)?

PHP   JavaScript    

124   3   11:22, 6th August, 2020


Как добавить тип файла в список поддерживаемых функцией mime_content_type?

Например, есть файл sample.mkv.
Если спросить php про mime-type этого файла, то получим «application/octet-stream». А желательный правильный ответ: "video/x-matroska".
Существует ли некий конфиг в самом php, или в ОСи, или в вебсервере, в который можно добавлять нужные строки соответствия?

PHP   MIME   types    

46   1   15:18, 27th August, 2020


PHP — как cоединяться с Mongo по требованию (отложенно)?

Модуль для работы с Mongo, входящий в комплекс поставки PHP предоставляет возможность соединяться с сервером не сразу — позволяя выбрать базу и коллекцию без установки соединения. Для этого есть вот такая конструкция:

$mongo = new \Mongo (MONGO_SERVER, array ("connect" => false));

Однако для того, чтобы выполнить любое действие с данными необходимо прежде вызвать $mongo->connect ().

В связи с чем возник вопрос — быть может уже есть готовое решение, некий слой для работы с Mongo наподобие Zend_Db или Rediska, где это уже реализовано?

Соединяться каждый раз — бессмысленно, изобретать велосипед — тоже не хочется, обратился к коллективному разуму :-)

PHP   MongoDB    

116   6   12:19, 1st August, 2020


Как отследить в каких полях формы сделали изменения

Как можно отследить какие поля были изменены в форме чтобы потом в PHP скрипте обрабатывать не всю форму, а только те поля которые были изменены или передавать в скрипт обработки только поля с изменениями.

P.S.: в форме достаточно большое количество полей

PHP    

68   4   19:48, 1st August, 2020


Функция substr и strlen в php не корректо работает с русскими символами. Как решить проблему?

Функция substr и strlen в php не корректо работает с русскими символами (кодировка utf8). Пробовал mb_substr также — не помогло.


Кто поможет решить проблему?

PHP    

80   5   11:58, 24th August, 2020


Выбор Моего Первого Фреймворка (PHP)

Всем доброго всего!
Внезапно понял, что знаю php на неплохом уровне(но не до php-specified тонкостей ООП конечно), хочу вот перестать изобретать велосипеды, как это и было с другими языками.
Что посоветуйте из не очень сложного для базовых операций?
Начать хочу, пожалуй, с простенькой БД типа helloWorld с категориями и пагинатором.
Заранее спасибо!
PS как обычно щедро засвечиваю за адекватные (в т.ч хорошо аргументированные) комментарии в карму.

PHP   Фреймворки    

126   13   12:19, 17th August, 2020


Подскажите чем отправлять рассылку на PHP

Есть список подписчиков для которых формируется письмо и отправляется.
Чем посоветуете пользоваться для отправки большому количеству подписчиков?
phpmailer.worxware.com/ — не подходит т.к. очень медленно отправляет письмо и нагружает сервер.

В письме есть картинки их нужно тоже нужно отправлять.

PHP   Электронная   почта   Email-маркетинг    

60   6   09:12, 20th August, 2020


Как использовать GeoLite ASN в php?

У maxmind есть база преобразований ip в ASN
www.maxmind.com/app/asnum

у кого-нить есть идеи как это в php использовать, специальной функции под asn нету, а при попытке использовать как Базу organisation, то выходит ошибка, что не правильный формат базы.

PHP    

96   2   10:16, 8th August, 2020


Напомните, пожалуйста, название PHPшного IDE

Как-то в очередной раз на хабре был опрос «каким IDE вы пользуетесь».
Тогда очень много пользователей ответили, что пользуются не перечисленным в списке IDE, его название я забыл.
Помню, что он был коммерческий, стоил где-то 100 баксов за лицензию.
И работал под маком.
Я тогда решил, когда заведу мак, поставлю себе его. А название забыл.
Напомните, пожалуйста.

PHP   IDE   macOS    

27   4   02:34, 4th August, 2020


PHP. Можно ли подгрузить файл с кодом из другого сервера?

Есть два шаред хостинга на которых лежат php-файлы, и нужно каким-то образом заинклюдить файл с однго сервера на другой. Возможно ли это?

PHP    

90   4   04:20, 17th August, 2020


Простейшая защита от DDOS на PHP?

Можно ли организовать простейшую защиту от DDOS не на уровне конфигурации сервера, а на уровне кода PHP? Может кто-то использует готовые решения, тогда поделитесь ссылочками, пожалуйста.

PHP   Защита   от   DDoS    

87   9   19:44, 24th August, 2020


Что вставить в футер когда туда нечего вставить?

Заказчик попросил убрать контактную информацию на отдельную страницу Контакты, а в футер попросил вставить что-нибудь «на свой вкус», но чтобы не было пусто.

PHP   HTML    

119   21   10:52, 10th August, 2020


Какой шрифт использовать для разработки (phpstorm)

Всем привет. Стоял winxp + phpstorm — глаза привыкли к шрифту. Перехожу в ubuntu, поставил phpstorm, но шрифты все не те. Видимо придется привыкать заново. Какой шрифт лучше изначально использовать и не прогадать, чтобы глаза потом не уставали? В winxp стоял моноспейс, в ubuntu он совсем другой.

PHP   IDE   PhpStorm    

93   19   13:51, 20th August, 2020


PHP: отправить файл, скачанный с сервера1, post запросом на сервер2?

Итак, есть к примеру картинка на сервере1 server1.ru/file1.jpg

Необходимо отправить этот файл на сервер2 (server2.ru) POST запросом.

Как сделать это максимально быстро и легче?


Мое предложение:

Для скачивания file1.jpg используем:
$fp = @fopen('http://server1.ru/file1.jpg', &quot;rb&quot;);<br/>
 $fd = @fopen('tmp/tmp_filename', &quot;w&quot;);<br/>
 if ($fp && $fd) {<br/>
 while (!feof($fp)) {<br/>
 $st = fread($fp, 4096);<br/>
 fwrite($fd, $st);<br/>
 }<br/>
 }<br/>
 @fclose($fp);


Затем используем CURL для отправки файла tmp/tmp_filename на сервер2.


Возможно есть способ быстрее?


ps: вот было бы здорово сделать все вышеперечисленное на стороне клиента с помощью какаго-нибудь jQuery и не грузить сервер этой ерундой =)

PHP    

85   2   07:23, 12th August, 2020


Sphinx. Множество запросов. PHP API

Здравствуйте.
Со сфинксом знаком мало.
У меня есть 5 страниц. На одной надо искать по всей базе.
Это сделано след. конфигом: pastebin.org/331010
Теперь мне надо как-то произвести поиск по базе где postid = конкретному значению, что-то
вписать в конфиге еще надо?
И что вписать в пхп файле для вывода другого поиска, а не
всей базы?
Надеюсь понятно объяснил :) Спасибо

PHP   Sphinx    

29   1   20:37, 16th August, 2020


PDO или ORM в PHP?

Раньше я разрабатывал все проекты на основе PDO DB. Сейчас прочитав много книг и статей, начал задумываться а правильный ли я подход использую? Везде идут советы по использованию Doctrine или Propel, как более удобное средство. Да, формат работы по приведённым примерам мне понравился. Но вот смогут ли эти библиотеки создавать сложные запросы с несколькими например JOIN'ами, и вообще как скажется использование этих библиотек на производительности?



Поэтому вопрос к общественности: «Чем Вы пользуетесь для доступа к БД, и почему Вы выбрали именно данный способ?».

PHP   Doctrine   ORM   Propel    

51   18   12:08, 6th August, 2020


Подскажите систему мониторинга за сложным PHP проектом

Доброго времени суток, хабралюди!

Прежде чем писть очередной велосипед самому, хочу спросить у коллективного разума, вдруг уже есть готовое решение?

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

Задача — нужен мониторинг некоторых значений (где-то — просто результата одного запрос а БД, где-то — весьма сложная логика, много запросов, много проверок).

Хочется

  • иметь возможность посмотреть на значения «одим взглядом»- чтобы была какая-то сводная стрница
  • получать уведомления на почту/sms о фейлах


Вдруг кто-то уже сталкивлся или писал что-то такое?

PHP   Мониторинг    

93   6   22:40, 4th August, 2020


Посоветуйте CMS

С минимальным набором следующих функций: регистрация, профиль пользователя, админка, возможность оставлять комментарии. И всё это на php+mysql. Заранее спасибо.

CMS   PHP    

100   13   21:26, 22nd August, 2020


Средства определения города в PHP по ip посетителя сайта?

Как определить из какого города России зашел посетитель? (Проект на Zend Framework-е )

PHP    

92   7   16:23, 5th August, 2020


Отдача картинок с GET параметрами не средствами nginx, а php

Тех. поддержка нашего выделенного сервера в аренду (под их управлением) упорно морочит голову, в ответ на вопрос:

Можно ли сделать, чтобы запросы изображений с GET параметрами отдавались php, а не nginx?
«www.site.ru/upload/articles/58fa0825907dc76e67e8cb1150a7ac36.jpg?w=100&h=100&strict»

При этом, что данная фича работает на нашем старом сервере, который админил фрилансер (но он пропал).

Куда тыкнуть пальцем тех.поддержку?

Спасибо

PHP   Nginx    

79   6   08:10, 25th August, 2020


Как вы думаете, появится ли стабильный релиз smarty 3 до НГ?

Или Smarty 3 RC4 уже вполне работоспособный и его можно использовать?

PHP   Smarty    

53   1   04:43, 25th August, 2020


Ищу сайт по выявлению ошибок в PHP

Учусь программированию PHP по книгам, форумам, разбираю примеры и т.п.
Скажем ситуация такая я написал несколько страниц сайта.
Титульная с формами, регистрация и вход в профиль и теперь ищу такой сайт который бы «зашёл» на мой сайт и подверг атаке известными способами: инъекции, java stript-ы и другое.
После атаки мне выдал бы список дыр которые надо прикрыть.
Мне хотя бы самые глупые ошибки увидеть и понять.
Буду очень благодарен за подсказки.

PHP    

84   5   19:38, 11th August, 2020


Не работает php5-fpm с php-apc на ubuntu 10.10?

Пославил пакеты php5-fpm и php-apc из официального репозитория ubuntu 10.10, сконфигурировал apc:



/etc/php5/conf.d/apc.ini

extension=apc.so<br/>
apc.enabled=1<br/>
apc.shm_size=128M




После перезагрузки php5-fpm на сайте ошибка:

Fatal error: Call to undefined function apc_exists() in /var/www/.../application/models/user_model.php on line 271




phpinfo(); через fpm отвечает, что модуль apc загружен.



Кто нибудь сталкивался с подобной проблемой?

PHP   Ubuntu    

136   1   12:55, 7th August, 2020


Посоветуйте простую и неизбыточную CMS

На php в основном писал отдельно классы, либо проекты с нуля. Сейчас пользуюсь kohana 3. Появилась необходимость сделать простенький сайт, а для таких вещей изобретать велосипед каждый раз надоело.
Посоветуйте пожалуйста какую небольшую, не перенасыщенную функциональностью, плагинами и кодом CMS лучше всего взять на вооружение.
Хотелось бы все прелести php5 и ООП, читаемый код, логичную и понятную структуру, WYSIWYG для редактирования контента, использование шаблонизаторов (Smarty или другой подобный, либо нативный альтернативный синтаксис), легкость создания и добавления своих модулей (т.е. скажем не менять всю логику движка для создания страницы «обратная связь»).

CMS   PHP    

63   11   23:30, 6th August, 2020


Самый лучший редактор PHP/XSLT/HTML/CSS/JS под Mac OS X?

Хотелось бы услышать мнение пользователей Mac OS X по теме. Можно без аргументации, но со ссылками. Сам некоторое время пользуюсь Coda, но при всех его достоинствах есть существенные недостатки:


— отсутствие autocomplete (да и вообще понимания) XSLT, что несколько замедляет работу

— отвратительный autocomplete для PHP (такие вещи, как private, static, class, extends и масса прочих отсутствуют, собственные функции/методы не анализируются и не подставляются, а в голове все проекты держать — с ума сойдёшь. Ну и вообще неудобно так.)

— отсутствие анализа проекта с целью формирования базы функций/классов/методов/свойств для autocomplete

— неудобная подсветка парных скобок в тех случаях, когда открывающая или закрывающая скобка вне области видимого экрана


Чего хочется:


— легковесности и нативности для Mac OS X (не нравится мне Eclipse и прочие java-based IDE, и всё тут. Некомфортно мне с ними работать. :( )

— нормальной реализации того, что перечисленно в теме и выше в тексте

— поддержки SVN/SFTP/FTP

PHP   IDE   macOS    

132   18   07:45, 16th August, 2020


Книга по PHP. Одна из двух

Что выбрать?
PHP в подлиннике от Котерева или PHP Профессиональное программирование, авторы Гутманс, Баккен, Ретанс?
кинул бы ссылки на озон, но, боюсь, что за рекламу сочтут

PHP   Книги    

89   6   00:25, 9th August, 2020


Какой шаблонизатор взять для нового проекта на php?

Многие по-инерции используют Smarty, кто-то пробует Twig, кто-то — экзотический Blitz, вот хочется узнать мнение общественности.


Blitz на мой взгляд имеет существенный недостаток — высокие трудозатраты на разработку, так как требуется плотное взаимодействие дизайнера и программиста для изменений и для быстрой разработки/прототипирования, на мой взгляд, не очень подходит.


Из Smarty-подобных систем мне же известен только Twig, быть может есть еще хорошие варианты? От шаблонизатора хочется объектности и расширяемости.

PHP   Шаблонизаторы    

142   13   00:18, 6th August, 2020


Проблема связи php и python через memcached?

если совершается set из php в memcache то при попытке сделать get по такому ключу из python получаю:
&gt;&gt;&gt; import sys; print('%s %s' % (sys.executable or sys.platform, sys.version))<br/>
/usr/bin/python2.6 2.6.6 (r266:84292, Sep 15 2010, 15:52:39) <br/>
[GCC 4.4.5]<br/>
&gt;&gt;&gt; import memcache<br/>
&gt;&gt;&gt; import binascii<br/>
&gt;&gt;&gt; m=memcache.Client(['127.0.0.1:11211'], debug=0)<br/>
&gt;&gt;&gt; def php_hash(key):<br/>
... return (binascii.crc32(key) &gt;&gt; 16) & 0x7fff<br/>
... <br/>
&gt;&gt;&gt; m.get((php_hash(mfd.php_nexttime), mfd.php_nexttime))<br/>
Traceback (most recent call last):<br/>
 File &quot;&quot;, line 1, in NameError: name 'mfd' is not defined<br/>
&gt;&gt;&gt; m.get((php_hash('mfd.php_nexttime'), 'mfd.php_nexttime'))<br/>
Traceback (most recent call last):<br/>
 File &quot;&quot;, line 1, in  File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 779, in get<br/>
 return self._get('get', key)<br/>
 File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 766, in _get<br/>
 value = self._recv_value(server, flags, rlen)<br/>
 File &quot;/usr/lib/pymodules/python2.6/memcache.py&quot;, line 915, in _recv_value<br/>
 return val<br/>
UnboundLocalError: local variable 'val' referenced before assignment<br/>
<br/>
Устал гуглить может кто ни будь сталкивался?

PHP   Python   Memcached    

85   3   17:19, 24th August, 2020


Denwer под Android

Кто может подсказать, возможно ли реализовать что-нибудь типа Denwera но на Androide, нужно чтобы тестировать работоспособность php скриптов на Tablet PC

PHP   Android   Denwer   Мобильные   устройства    

88   2   14:25, 9th August, 2020


Настройка дебагера в NetBeans (XDebug) в Firefox-е

Всем привет!
Помогите настроить нормальный дебаг (что бы можно было в FireFox-е выполнять какие-то операции со скриптом) в NetBeans с XDebug.
У меня имеется Win7 с денвером(XDebug установлен и работает нормально, можно дебажить в командной строке).
Как-то нужно настроить NetBeans с XDebug?

php.ini:
zend_extension_ts = Z:/usr/local/php5/ext/php_xdebug-2.1.0-5.2-vc6.dll
xdebug.remote_enable = on
xdebug.remote_handler = dbgp
xdebug.remote_host = localhost
xdebug.remote_port = 9000


Заранее спасибо!

PHP   NetBeans   Xdebug    

19   2   05:10, 4th August, 2020


Поменять местами 2 строки в таблице mysql

Всем привет!

Есть таблица, например, с полями Id (int auto_increment) Name

Как с помощью sql запроса поменять местами Id у двух строк?

ЗЫ Хороших выходных :)

PHP   MySQL    

106   10   18:55, 12th August, 2020


Emacs как IDE для PHP?

Добрый день.

Погуглил немного интернет, ютуб и хабр, но не нашел удовлетворения своему вопросу:
Может ли Emacs быть достойной заменой NetBeans как PHP IDE?

Я использую в NetBeans:
— Ctrl+Shift чтобы получить human-readable javadoc к функции
— /** + Enter, чтобы написать JavaDoc к функции, классу или файлу
— Alt+Shift+O для поиска файла по имени в проекте
— Short-cut для заливкли файла или файлов на сервер по FTP
— Short-cut для svn commit/update

К Emacs не относится, т.к. у него работа с буферами даже несколько удобней устроена, чем переключение по tab-ам NetBeans, но обычно я использую Ctrl+w для закрытия tab-а и Ctrl+Pg Down/Up для навигации по табам. В этом плане Emacs круче :)

Так вот может ли всё это Emacs? Насколько я понимаю, изза отсутсвия в Emacs понятия «проект», навигацию по имени файла в проекте мне уж точно не получить (что достаточно расстраивает :( )?

PHP   Emacs    

43   7   04:11, 13th August, 2020


Программист: повышение уровня

Занимаюсь программированием на php для себя. Изучаю фреймворки, пишу небольшие проекты типа блогов да ToDo-сайтов. Появилось желание работать фрилансером, но как посмотрел что хотят заказчики — испугался. В общем чувствую себя неуверенно.
Как стать эльфом 80-го уровня профессиональным программистом и решать задачи любой сложности? Куда двигаться?

PHP   Фриланс    

129   12   16:58, 17th August, 2020


Задать umask для php5-fpm?

Почти все в заголовке.

Есть fastcgi апстрим на php5-fpm, работающий от пользователя www-someone. Нужно поменять ему umask.



Пробовал: поместить команду в ~/.profile, естественно не помогает.

PHP    

94   1   05:49, 15th August, 2020


Хочу изучить MVC в PHP, с чего начать? Какой фреймворк выбрать для проекта?

Собственно, два вопроса:



1) Хочу изучить MVC-подход в PHP, с чего начать, что почитать? (Желательно на русском для более быстрого восприятия)

2) Сейчас начинаю новый проект, думаю, что необходимо взять какой-либо фреймворк для облегчения разработки — а какой именно?



Гуру, подскажите, пожалуйста :)

PHP    

18   18   12:14, 3rd August, 2020


PHP. Как лучше всего проверить существует ли сайт или нет

есть адрес сайта, каким оптимальным способом можно проверить его существование?
CURL
get_headers
fsockopen
fopen

PHP    

81   9   23:59, 22nd August, 2020


Языки на сайте

Как лучше делать сайт…
Поддомены
ru.site.com, en.site.com, fr.site.com
или же
site.com/ru/
site.com/fr/
site.com/en/

Если второе, то как правильно делать ссылки внутри php

PHP   Рынок   доменных   имен   Веб-разработка    

112   10   13:13, 26th August, 2020


Php-fpm (Ubuntu 10.04) + eAcceleror — не удаётся сдружить?

Проблема в следующем,

имеется система Ubuntu 10.04, php-fpm (по этому руководству www.howtoforge.com/installing-nginx-with-php-5.3-a...) и nginx.



Хочу установить eAccelerator 0.9.6.1. После сборки eAccelerator из исходников

phpize<br/>
./configure --enable-eaccelerator=shared<br/>
make<br/>
make install




перегружаю php-fpm. Вижу следующее сообщение:

sudo /etc/init.d/php5-fpm restart<br/>
Gracefully shutting down php5-fpm . done<br/>
Starting php5-fpm PHP Deprecated: [eAccelerator] This build of &quot;eAccelerator&quot; was compiled for PHP version 5.3.2-1ubuntu4.5. Rebuild it for your PHP version (5.3.2-1ubuntu4.5ppa5~lucid1) or download precompiled binaries.<br/>
. done<br/>


Разумеется, eAccelerator не работает.

Как с этим бороться? как его скомпилировать именно под версию PHP 5.3.2-1ubuntu4.5ppa5~lucid1?

PHP    

101   1   09:03, 13th August, 2020


Лекгкий редактор PHP с форматированием и подсветкой?

Добрый день, пользуюсь NetBeans, он довольно тяжеловат и не подходит для быстрой правки\просмотра одиночных файлов…


Ищу простенький редактор, глаыный критерий, подсветка синтаксиса и автоформатирование кода… у нотепад++ не нашел автоформатирвоания, да и подсветка почему то только в ручную выставляется, автоматом не подлавливает…


подскажите?

PHP   Редактор   кода   Подсветка   синтаксиса    

47   12   14:52, 24th August, 2020


Почему нет прироста после перехода на php-fpm с обычного php?

Собственно провел тест на ApacheBenchmark до и после. Разница несущественная.

И ещё такое странное ощущение, что php-fpm не держит код заинклюженных файлов в памяти, т.к. при изменении кода файла, отображается изменённый результат, а по идее должен отображаться старый (загруженный ранее).

Для перезагрузки есть команда /etc/init.d/php5-fpm reload но она по сути не нужна.

Или я забыл какой-то парамер в конфигурации указать?

PHP    

24   4   11:50, 20th August, 2020


php SOAP Extension

Начинаю постигать SOAP, наткнулся на такую проблему: при попытке обращения к соап функции выскакивает фатал еррор Uncaught SoapFault exception: [VersionMismatch] Wrong Version. Ниже приведен код примера.

$client = new SoapClient(
'http://new.starliner.ru/modules/trains/soap/test.wsdl',
array(
'features' => SOAP_SINGLE_ELEMENT_ARRAYS,
)
);

$result = $client->trainRoute(array('day'=>'12', 'month' => '12', 'train' => '066А'));


Гугл показал что проблема такая возникает часто, а решения так и не дал.
Так в чем же соль?

PHP   SOAP    

84   3   10:18, 4th August, 2020


Как узнать стандартными средствами PHP, требуются ли аргументы для вызова метода?

Пишу свой велосипед для опыта, роутинг сделал как в CI:


CodeIgniter использует подход, основанный на сегментах адреса:
www.your-site.com/news/article/my_article


Сегменты в URL, соответствуют архитектуре Модель-Отображение-Контроллер и, как правило, строятся таким образом:
www.your-site.com/class/function/arg


В первом сегменте описывается контроллер class к которому происходит обращение.

Во втором сегменте происходит ссылка на функцию function или метод, который необходимо вызвать.

В третьем и последующих сегментах описываются переменные, которые будут переданы в эту функцию.


В CI метод может выглядеть к примеру вот так:


function hello ($name, $id) {

echo "\$name = $name";

echo "

";

echo "$id";


}


Теперь вопрос, в случаи, если в url не был передан один из аргументов для метода, естественно возникает ошибка.

Как можно проверить сколько аргументов требуется для вызова метода? Проверить нужно до вызова, поэтому func_num_args не получится использовать.


Или возможно другой выход из ситуации подскажите? Заранее премного благодарен.

PHP    

55   4   02:03, 17th August, 2020


PHP memcache — получить оставшееся время до удаления записи?

Или время добавления записи в memcache.

Возможно существует какой то не документированный метод для получения этого значения?


Конечно как вариант можно создать дополнительное поле, где держать точное время добавления записи, но это на крайний случай.

PHP   Memcached    

104   2   21:06, 1st October, 2020


Задание дополнительного аругмента для ant или phing

Вопрос ко всем, кто использует ant или phing.
Я хочу написать сценарий, который будет деплоить некоторый проект на сервер. При этом, в строке запуска задачи я хочу иметь возможность указать переменную, которая будет указывать в каком окружении я собираюсь выполнять деплой (тестовое, продакшн и т.п). Хочется, чтобы это выглядело примерно следующим образом:
phing deploy test
Где deploy — это имя задачи, естественно, а test — это переменная, указывающая на окружение.

Мой вопрос: как в ant или phing можно перехватить значение второго аргумента (после имени задачи)?

PHP   Развёртывание   ПО   Apache   Ant    

131   3   00:52, 20th August, 2020


Замена всех внешних ссылок через редирект

Добрый день.

Есть задача сделать php фильтр, который на вход получает html страницу а на выходе выдает туже самую страницу, но все внешние ссылки меняются на /away.php?url=blabla

Сама по себе задача не сложная, я через preg_replace это быстро сделаю, но у preg_ есть лимит в 100K, если текст больше этого лимита то функции не работают, можно конечно поднять лимит. но хочется чего-то более гибкого.

Какие я вижу варианты
1) Разбирать в DOM дерево и там менять, но тогда Не валидные документы не будут обрабатываться

2) Разбивать текст на куски меньше 100к и там менять, вопрос в том как разбить текст, чтобы граница не прошла по середине ссылки

3) Анализировать по каждой сточке, имхо тоже не лучший вариант.

Есть идеи?

PHP    

62   1   07:53, 19th August, 2020


Изучение нового основного языка. Java?

Возможно, мой вопрос не совсем подходит для Q&A, но это и не топик для хабра. Без предыстории на обойтись…

Около 7 лет занимаюсь программированием, около 5 лет зарабатываю этим на жизнь. После окончания университета прошло больше двух лет, а я все еще не устроился на работу, потому что увяз в собственных «проектах» (они приносят деньги, но не дают развития).
Изначально мною был сделан неудачный выбор: Delphi (windows-приложения) и PHP (веб). И тем, и другим владею на хорошем уровне.
На Delphi писал и оконные приложения (облегченный клиент для популярной MMORPG-игры), и многопоточные сервера (авторизационный сервер для той же игры), и относительно низкоуровневые библиотеки (SPI-провайдер, внешний модуль защиты клиентских приложений). Об одной своей разработке я писал на хабре: Аналог Time Machine для Windows
На PHP были разработаны как отдельные модули (личные кабинеты, админ-панели, внутренние библиотеки), так и полноценные сайты с нуля. Самый популярный ресурс на данный момент имеет около 30 тысяч уникальных посетителей в сутки (400-500 тысяч просмотренных страниц).
Само собой приходилось заниматься и администрированием (linux, apache, nginx), и работать с СУБД (MSSQL, MySQL), и писать HTML-страницы (CSS, Javascript, jQuery). Но это побочные знания, а не мой профиль.

Вчера начал изучать вакансии и понял, что оказался «в пролете» (не скажу, что это было большой неожиданностью): крупным IT-компаниям (yandex, mail, google, ...), завязанным на интернете, не нужны PHP-программисты. Работать в компании со штатом в 10 человек и делать каждую неделю очередной сайт на заказ я не хочу. Мне нравится создавать то, чем пользуются ежедневно тысячи людей. Я люблю программировать. Я хочу иметь возможность запустить браузер, загрузить страницу и сказать: «это сделал я».

Как добиться желаемого? Как попасть в Яндекс на должность разработчика? Очевидно, ответ следующий: изучить на достаточном уровне Java или C++. На что сделать ставку, чтобы в будущем не пожалеть? Наверное, Java.
Реально ли дома по книжкам изучить Java (и сколько на это может потребоваться времени), чтобы не провалить собеседование в Яндексе? Или Яндекс — это слишком высоко, и все равно придется сначала поработать в более мелкой компании для приобретения опыта.

Мне сейчас очень нужен вектор развития, потому что я не хочу еще один год топтаться на месте.

P. S. Или я ошибаюсь в том, что с PHP нельзя построить хорошую карьеру?

PHP   Java   Яндекс   Карьера    

126   14   15:16, 13th August, 2020


PHP, MySQL. антиповтор

Суть такая:
Есть база в которую заносится например имя автора (пользователем).
Пользователь может ввести: Пушкин, Пушкин Александр, Александр Сергеевич Пушкин, Пушкин А С, А С Пушкин (ну вы поняли. Как с этим грамотнее бороться? Чтоб не было как в VK и подобных.

PHP   MySQL    

88   5   02:40, 26th August, 2020


Где бы найти преподавателя по PHP?

Кинул объявляние на паре phpшных форумов, но народ там в этом плане как то не очень активен, все предлагают читать книжки и с каждым вопросом бежать на форум, что я считаю не есть хорошо. Может есть какие то сайты, где тусуются преподы по различным направлениям, где можно найти человека?

PHP   IT-образование    

120   7   14:05, 3rd August, 2020


Метрики php проекта

Подскажите чем можно собрать статистику по php коду? Процент покрытия кода тестами и другие.

Пока смотрю в сторону Sonar, может есть что-то по проще.

PHP   Аналитика    

116   3   18:20, 11th August, 2020


Автоматическая проверка PHP кода

Уважаемые хабраюзеры,

Недавно захотелось сделать автоматическую проверку PHP кода до деплоя на сервер (не Unit тесты). То есть, хотлось бы иметь такой инструмент, который говорил бы, что в коде возможно ошибка. К сожалению, я знаю только php -f (исполнение скрипта) и php -l (проверка на синтаксические ошибки). Возможно, есть какие то 3rd party тулзы для анализа. Гуглинг разрешения проблемы не дал, к сожалению (в основном предлагались плагины для известных IDE, а хотелось бы тулзу, зупускаемую из командной строки).

apt-cache search php | grep analy
тоже ничего не говорит хорошего :)

Если вы знаете подобные анализаторы, поделитесь, пожалуйста.

PHP    

120   5   09:16, 22nd August, 2020


Как из php попинговать ip и вывести статистику?

функции типа system(); exec(); passthru(); возвращают только одну строку, например:
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
и всё. Что я делаю не так? как посмотреть статистику?

PHP   Ping    

30   3   08:52, 2nd August, 2020


PHP tokenizer на Python?

Существует ли аналог tokenizer'a из PHP на Python, либо же подобные лексеры для разбора PHP-кода?

PHP   Python    

103   1   04:45, 20th August, 2020


apache падает с signal 11

Подскажите как найти утечку.

Есть брендовая железка, на ней вертится пара сайтов на Joomla, Gallery2, DokuWiki, phpMyAdmin, Munin
Время от времени падает с таким записями в логе:

[notice] child pid 22048 exit signal Segmentation fault (11)

Пробовал ставить apache2-mpm-itk (надо было) — получаю в принципе тоже самое:
[error] child died with signal 11

В apache2.conf выставил LogLevel debug, в php.ini выставил error_reporting = E_ALL & ~E_DEPRECATED
но ничего в логах интересного нет, временами php ругается на Undefined variable и отсутсвие файлов и все.

Такое ощущение что память течет, но не могу понять кто виноват.

Немного о системе:

# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.04
DISTRIB_CODENAME=lucid
DISTRIB_DESCRIPTION=«Ubuntu 10.04.1 LTS»

# uname -a
Linux myserver 2.6.32-21-server #32-Ubuntu SMP Fri Apr 16 09:17:34 UTC 2010 x86_64 GNU/Linux

# apache2ctl -V
Server version: Apache/2.2.14 (Ubuntu)
Server built: Sep 28 2010 12:53:28
Server's Module Magic Number: 20051115:23
Server loaded: APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture: 64-bit
Server MPM: Prefork
threaded: no
forked: yes (variable process count)

# php5 -v
PHP 5.3.2-1ubuntu4.5 with Suhosin-Patch (cli) (built: Sep 17 2010 13:49:46)
Copyright © 1997-2009 The PHP Group
Zend Engine v2.3.0, Copyright © 1998-2010 Zend Technologies
with Suhosin v0.9.29, Copyright © 2007, by SektionEins GmbH

Дополнительно установлен php-apc 3.1.3p1-2, пробовал обновляться до 3.1.4 и 3.1.5 — никакой разницы нет.

Весь установленный софт — из репов, сам ничего не собирал.

UPD: засада оказалась в связке Joomla + APC. Снес APC, настроил nginx+apache2+eAccelerator — несколько дней полет нормальный. Обновление версий ПО пока решил не проводить в экспериментальных целях.

PHP   Apache   Joomla    

90   3   16:42, 15th August, 2020


Посоветуйте лучшие практики PHP

Мое приветствие.

Прошу посоветовать небольшой проект с открытыми исходниками с целью обучения PHP на примере «как это делают большие дяди». Качественный код (на ваш вкус), ООП (по возможности), небольшой объем (Drupal, WP и других монстров не предлагать), живое сообщество. Что бы было реализовано: разделение доступа, работа с БД, кеширование средствами PHP (необязательно), может, какие другие типичные задачи. Если будет еще и документация для разработчиков — вообще прекрасно. Еще одно пожелание, скорее всего, несбыточно: что бы соответствовал последним изменениям в языке, то есть что бы код был PHP 5.3.

Заранее благодарю, товарищи. Да прибудет с вами Сила.

PHP   IT-образование    

49   9   23:34, 8th August, 2020


Функция include() в PHP?

Никак не могу разобраться… Вне зависимости от того, на локальной машине ли или на виртуальном сервере происходит следующее:

На локальном сервере

Инклудится:
<? include("functions.php"); ?>


Не инклудится:
<? include("http://localhost/functions.php"); ?>

На удаленном сервере

Инклудится:
<? include("functions.php"); ?>


Не инклудится:
<? include("http://site.ru/functions.php"); ?>

На локальном сервере (файл в директории)

Инклудится:
<? include("./dir/functions.php"); ?>


Не инклудится:
<? include("http://localhost/dir/functions.php"); ?>


На удаленном сервере (файл в директории)

Инклудится:
<? include("./dir/functions.php"); ?>


Не инклудится:
<? include("http://site.ru/dir/functions.php"); ?>


Читаю мануалы, говорится, что инклуды работают только нелокально. Тут получается наоборот чтоли… Мне необходимо инклудить именно по адресу файла (site.ru/functions.php), а не относительно.

PHP    

89   5   10:34, 5th August, 2020


Посоветуйте движок для уютного бложика :-)

Посоветуйте движок на PHP5 для личного блога для себя. Главное чтобы было уютно :-) Не хочется мегакомбайнов типа WordPress, хочется чтобы весь код и схему базы можно было легко объять в уме, предельно быстро разобравшись и допиливать под себя. Желательно чтобы код был как-можно современнее и качественнее, чтобы было приятно с ним ковыряться. Может знаете такой. Думал с нуля свой написать, да как-то лениво браться…

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

CMS   PHP    

64   13   06:22, 24th August, 2020


Окружность по трем гео-координатам?

Имееются координаты трех точек на карте.

Надо найти координаты центра описанной вокруг получившегося треугольника окружности.


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


Нет ли идей как более простым способом найти центр?


расчет ведется на php

04986c3df2c9e81fe9b5153de52fb776.png


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


задача вцелом (из риэлторской тематики):

Яндекс-карты не умеют определять пересечения улиц (

Мы придумали такой способ: есть база с домами (находящихся на улицах) и координатами этих домов. Надо найти перекресток двух заведомо пересекающихся улиц.

Выбираем все дома по этим улицам и ищем дома, находящиеся к примеру в пределах 200 метрах друг от друга (но на разных улицах ес-но, т.е. каждый дом с одной улицы сравниваем с каждым домом на другой улице). По-сути на картинке именно это и изображено (разные улицы = разные иконки). Дальше уже надо определить примерную область, в которой будет находится дом, указанный в объявлении как «перекресток улиц Тухачевского и Магнитогорской». Примерная область = окружность

PHP   Геометрия    

42   7   06:24, 28th August, 2020


PHP: memory_get_peak_usage под eAccelerator?

Крупный проект на PHP. Выкатываем новую версию на сервер — потребление памяти (memory_get_peak_usage в конце исполняемого кода) выросло в два раза.

Переполошились, начали копать.

Отключение eAccelerator показывает, что и старая и новая версии потребляют одинаково.

Включаем eA — опять разница в два раза.



Собственно, вопросы:

1. Поскольку потребление памяти одни и тем же скриптом с выключенным eA и с включенным eA заметно отличается, то был сделан вывод, что в случае работающего eA в потребляемую память не засчитывается опкод самого скрипта, ибо он лежит в разделяемой памяти. Так ли это? Если это не так, то чем ещё можно объяснить колоссальную разницу в результате memory_get_peak_usage в одинаковых условиях?



2. И самое главное: каково может быть разумное объяснение поведения, изложенного в первой части? Когда без eA расход памяти не изменился (и мы склонны этому верить), а при включении eA выдаётся совершенно нереальный прирост потребления.

PHP    

53   1   05:20, 7th August, 2020


MSSQL и php.ini mssql.textlimit

Ситуация такая:
в базе лежат картинки в base64 в поле типа text
при получении поля из пхп обычным запросом — поле с картинкой обрезается до 4096 байтов.
Как получить поле нормальной длинны?
Установил в php.ini

mssql.textlimit = 2147483647
mssql.textsize = 2147483647

— не помогает…
Еще находил такое решение:

$q = $db->query ('SET TEXTSIZE 2147483647');
$q->fetchAll();
ini_set ('mssql.textlimit' , '2147483647');
ini_set ('mssql.textsize' , '2147483647');
$q = $db->query("select CONVERT(TEXT, img) from [shop].[dbo].[news_image] WHERE id = $id");
$res = $q->fetchAll();


— результат тот же — возвращается только 4096 байт, т.е. нач. часть картинки.

Сталкивался ли кто нибудь с таким и как решал?
Сейчас решено хранимой процедурой которая собирает все в темповую таблицу и возвращает, а потом скрипт склеивает строки — ну это решения мягко говоря мне не очень импонирует :)

PHP   SQL   Server    

84   2   04:18, 27th August, 2020


Правильная работа мемкеша?

Здравствуйте.
Использую php + memcached
На странице вывожу 20 видео т.е. от каждого видео картинка, ссылка и название видео.
Также у меня сайт поддерживает много языков. (темплейтер использует )
Как правильно добавлять данные в мемкеш?
Каждую видеозапись кидать в мемкеш с ключом $video. $title. $key и на выходе уже обрабатывать темплейтером фразы <lang ...>
Т.е. на странице будет как минимум 20 «геттов» из мемкеша.
Или же записывать все 20 видео в 1 ключ $language. $video
Но тогда для каждого языка будет по одному ключу.
Языков у меня, допустим, 6
Надеюсь, объяснил номрально, если что — уточню.
Спасибо

PHP   Memcached    

73   3   05:52, 5th August, 2020


Сортировка в PHP?

Есть такой код:

$array = array();

for ($count = 1; (($head = mysql_fetch_array($output1)) and ($text = mysql_fetch_array($output2))); ++$count) {

	$array[$count] = $head[0];
	printf($array[$count]);

	echo "<br />";
	echo "<br />";

	$array[$count] = $text[0];
	printf($array[$count]);

	echo "<br />";
	echo "<br />";
}
return $array;



Он выводит что-то типа:

First title

Fitst text

Second title

Second text

Third title

Third text





Нужно отсортировать в обратном порядке:

Third title

Third text

Second title

Second text

First title

Fitst text





Знаю о функции array_reverse(), но куда не пытался её здесь всунуть, не отсортировывает.

PHP    

97   6   14:39, 13th August, 2020


Чат на PHP: узкое место БД — как решить?

Есть задача организовать простой чат с веб-интерфейсом и полной историей на действующем сайте на самописном движке (PHP5.3.3/MySQL5.1). Гугление по существующим решениям ничего хорошего не дало, либо избыточно, либо производит ощущение «наколенной поделки» и чаще всего давно не поддерживается, да и хотелось бы иметь одну архитектуру и стиль кодирования. В общем принято решение реализовать самостоятельно. С кодированием особых проблем нет, прототип реализовали, но нагрузочное тестирование с разными вариантами индексов и таблиц показало, что при уже ~20 хостах «читателей» и одним «писателем» в секунду MySQL затыкается (VDS c 1Гб RAM, мускулу половина отдана, и 2ГГц проц, nginx+php-frpm под Debian) даже на денормализованной таблице, т. к. кэшированию средствами БД запросы не поддаются (фильтры у каждого «читателя» свои, ибо приват, фильтрация в серверном приложении вряд ли будет эффективней чем в БД, как мне кажется, а у клиента недопустима). А хотелось бы на этом «железе» хотя бы 40-50 держать помимо основной нагрузки. Что может помочь? Опыта «хайлоад» нет, возникли такие идеи:

— написать демона для чата на субдомене, чтобы читал в основном потоке из БД только при старте (последние N сообщений) или редких специфичных запросах, хранил их у себя в памяти процесса (убивая старые), а писал в БД только «логи» для следующего старта (тогда фильтрация будет эффективна, имхо, плюс её можно будет осуществлять опережающе и инкрементно, храня сами сообщения в едином пуле, а для каждого читателя добавлять в список ссылок на «его» сообщения при поступлении сообщения от «писателя» лично для него или публичного, и удалять их оттуда при прочтении)

— аналогичным образом задействовать мемкэш (хотя пока с трудом представляю как обеспечить целостность, до того только с файловыми кэшами работал, которые сами не «испаряются») для обычного PHP-обработчика (то есть чтобы куча воркеров имела доступ к общему пулу сообщений и инкрементным личным спискам ссылок на них между запросами)

— перевести чат на NoSQL СУБД (какую? главная задача эффективная фильтрация по паре полей последних записей, типа WHERE timestamp > {last_time} (или id>{last_id}) AND (recipient_id IS NULL OR recipient_id={user_id}) ORDER BY timestamp (или id) DESC LIMIT {max_records} )

Что стоит попробовать или ещё какие могут быть варианты? Демона писать не хочется, так как усложнит администрирование и сервера, и собственно чата (аналог IRC команд делать?), опыта работы с кэшем и NoSQL практически нет.

PHP   NoSQL   Базы   данных   Чаты   Memcached    

108   15   14:51, 21st August, 2020


Утилита для разбора error логов apache и добавление ошибок в багтрекер

Может кто-то знает или кто-то встречал подобное решение.
Что бы ошибки из лгов апача попадали в багтрекер (уже существующий или свой) с разным приоритетам в зависимости от важности ошибок. Либо посоветуйте что можно допилить.
Спасибо!

PHP   Apache    

89   2   03:05, 6th August, 2020


Как работает memcache?

Здравствуйте…

В стадии разработки проекта столкнулся с вопросом:

Нормально ли в 1 ключ пихать примерно 6 мб текста (объект ютуб класса) т.е. кешировать 6 мб текста в 1 ключе? Таких ключей по 6 мб может быть десятки тысяч.

И еще вопрос: мемкеш хранит данные на HDD или же в оперативной памяти?

Если в оперативной, то максимум я могу записать 64 метра (если предел стоит 64)?


Вчера на локалхосте проверял стату в мемкеше…
Number of bytes this server is allowed to use for storage установлено 64 Mega Bytes

А
Total number of bytes read by this server from network уже 69.00498104098 Mega Bytes

при этом
Number of valid items removed from cache to free memory for new items равен нулю…


Но почему тогда никакой перезаписи не произошло?

PHP   Memcached    

108   6   12:05, 2nd August, 2020


Вконтакте API сервер-сервер

Как известно, у Вконтакте есть несколько способов работы с API:
  • через JS со стороннего сайта или из встроенного приложения
  • на ActionScript для приложений
  • и Desktop-приложения
Для того, чтобы организовать работу с сервисом в то время, когда пользователь не находится на сайте способа я не нашёл, иначе говоря, нет возможности совершать запросы к API сервер-сервер (за исключением нескольких специфичных функций).

В один момент показалось, что можно замаскировать сервер под desktop-приложение, но и там ложка дёгтя, после перехода на сайт Вконтакте для авторизации, он не в состоянии передать никаких данных нашему серверу.

Итак, вопрос. Можно ли как-то организовать взаимлдействие с API вконтакте в режиме сервер-сервер?

PHP   JavaScript   API   ВКонтакте    

134   2   18:33, 24th August, 2020


Нужен аналог расширения GeoIP (определение страны по IP адресу)?

Нужен вышеуказанный модуль определения страны по IP адресу посетителя на PHP.

С удовольствием взял бы сторонний, но к сожалению сходу ничего толкового не нашел с учетом моих условий. Взял бы «GeoIP», но там как я понял нужны определенные телодвижения хостера, мне не подходит. Решения, использующие для работы MySQL или обращения к внешним ресурсам так же не подходят.

Нужен грубо говоря локальный файлик ***.php (допустим в комплекте с локальной базой в фомате CSV, XML, TXT ...), подключив который можно будет вызвать искомую функцию.



Порывшись в закромах интернета нашел саму базу на maxmind.com — там есть бинарный формат и CSV. Сейчас начал писать свой скрипт на PHP, работающий с этой базой, но если кто подскажет уже готовый скриптик, буду премного благодарен.

PHP   Геолокация    

86   4   13:22, 10th August, 2020


Нужен QR-code декодер на PHP?

Задача: декодирование QR-кода средствами PHP из файлов PNG или JPG.

Погуглил, но сходу ничего удобоваримого не обнаружил…

PHP   QR-коды    

116   3   08:58, 19th August, 2020


PHP. Как получить имя файла по открытому file handle

Проблема. Есть функция, которая генерирует некоторое имя файла, записывает его в базу и выполняет
return fopen($filename);

И вот возникла задачка, как по возвращенному хендлеру получить имя открытого файла. Я адекватного способа сделать это средствами PHP не нашел.

PS. Да, вопрос носит сугубо теоретический характер, проблему я скорее всего решу переписыванием функции, чтобы она возвращала кроме хендлера еще и имя.

PHP    

135   4   17:31, 24th August, 2020


Отправить сообщение в твиттер через PHP

Не подскажите есть ли готовый пример отправки сообщения в твиттер через API на PHP.
Ранее все работало через curl, но с вводом oAuth все накрылось и работающих примеров что-то не нашел(

PHP   OAuth    

22   2   18:42, 5th August, 2020


Проблемы с MySQL MyISAM — дублирование записей и крэш больших таблиц

Совершенно внезапно на рабочем проекте стали твориться непонятные вещи:
  • отваливаются две самые большие таблицы — одна на гигабайт и порядка 70 миллионов записей, другая на 500 мегабайт и 700 000 записей. Примерно 100-1000 инсертов в секунду в первую и 2-5 во вторую. Из второй данные активно select'ятся
  • периодически по неизвестным причинам база начинает выдавать ошибку too many connections. Скрипты оптимизированы, один скрипт — один экземпляр соединения (класс БД — «одиночка»)
  • сегодня ни с того ни с сего данные начали дублироваться, один запрос проходил от двух до 13 раз. Причем не один какой-то запрос, а сразу несколько, которые идут друг за другом.
Скрипты проверил, всё в порядке, давно ничего не менялась, проект со средней посещаемостью. Никаких всплесков за сегодня нет.
Сервер выделенный, настройки стандартные, ОС — CentOS. Версия MySQL — 5.0.77

В чем может быть причина? Я с подобным никогда не сталкивался, никак не могу понять, что происходит.

PHP   MySQL   SQL   Базы   данных    

81   5   03:07, 13th August, 2020


Парсер резюме (PHP)

В проекте (PHP) стоит задача извлекать данные (ФИО, телефон, почта, образование, опыт работы...) из русскоязычных файлов резюме. В идеале это должен быть парсер .doc, .pdf файлов в формат HR-XML. Рассматриваем варианты покупки или разработки. Поиск на эту тему дал несколько вариантов англоязычных парсеров (sovren, rchilli...). Русскоязычных найти не удалось.

Возможно, мы плохо искали и такой парсер есть? Если нет, возможно люди с опытом подобных разработок смогут что-то посоветовать?

Спасибо за ответы.

PHP   Парсинг   Карьера    

65   1   17:38, 17th August, 2020


Отсчет суток при использовании time()?

Привет всем, сижу ломаю голову как реализовать отсчет суток при использовании функции time()

Пример:

Пользователь может совершить лишь одно действие в сутки, НО реализация должна быть следующей. Сутки считаются не прибавлением к time() + 86400 секунд, а расчет до 00.00. Т.е. в 00.01 считаются уже новым днем как и положено. И пользователь может совершить действие вновь!

PHP    

121   5   17:09, 15th August, 2020


Экспорт из PHP в Excel/Google Spreadsheets?

Возможен ли экспорт из отправленной на сайте формы в существующий Excel или Google Spreadsheet файл (шаблон)? Видел несколько способов создания файла на лету, но ситуация такова, что файл слишком сложный, чтобы его создать при помощи php.

Или, может быть, есть другие программы/сервисы для создания электронных таблиц, помимо вышеупонянутых, в которые будет проще наладить экспорт? Никогда раньше не имел дел с офисным софтом.

PHP   Электронные   таблицы    

21   6   18:22, 25th August, 2020


Math library PHP?

Подскажите, пожалуйста, математическую и/или и статистическую библиотеку/классы.

Вкратце задача такая:

есть крайне большое количество данных, данные хорошо структурированы и достаточно полные.

Есть задача их проанализировать, т.е. средние значения, отклонения, Стьюденты, Байэсы, регрессивный анализ, графики и прочее.

Часть работы кину на БД, уж со всякими AVG она справится, часть на гугл — рисование графиков, а вот часть придётся писать, вероятно, так как сроки максимально сжатые, хотелось бы не изобретать велосипед, а использовать готовое.

На данный момент нашёл вот это www.phpmath.com/home, но пока ещё не полностью разобрался с тем, что я нашёл.

Спасибо.

P.S. уж очень не хочется всё скидывать в Маткад, а то и Excel

PHP    

121   1   08:44, 8th August, 2020


Что выбрать: $someVar или $some_var?

Что выбрать: $someVar или $some_var?

PHP    

39   21   23:53, 29th August, 2020


PHP: запуск задачи в фоне

Какие самые правильные и надежные подходы стоит использовать, если необходимо запустить некую длительную задачу в фоновом режиме?
Приведу пример, чтобы стало понятней:
есть основной php скрипт, контроллер, который обрабатывает пользовательские действия. Пользователь нажимает в интерфейсе волшебную кнопку, которая должна запустить долгоиграющую задачу и вернуть управление пользователю. При этом не требуется возвращать или как то дополнительно обрабатывать результат работы длительного скрипта.

Знаю, что для подобных задач существуют различные библиотеки для создания очереди сообщений, но конкретно для моего примера это избыточно.
Так же хотелось бы обойтись без cron-task-ов и других ОС-специфичных вещей.

Спасибо.

PHP   Веб-разработка    

45   5   10:19, 12th August, 2020


Материалы по интеграции веб-приложений с 1С

Хочу научиться интегрировать свои и чужие продукты (CMS и т.д.) с 1С. Где почитать обучающие материалы по этому поводу? В сети куча предложений по услугам интеграции с 1С, а вот обучающих материалов как научиться делать это самому — нет.
Ссылки приветствуются!

Примечание: под «продуктами» подразумеваются различные веб-приложения, написанные на PHP.

PHP      

74   2   01:57, 24th August, 2020


Альтернативы DbSimple

Уже год, как пользуюсь в своих проектах DbSimple, но для высоконагруженных проектов хотелось бы что нибудь побыстрее. Что посоветуете?

PHP   MySQL    

115   7   01:05, 7th August, 2020


Обмен данными между PHP и серверным приложением на С++ Qt4?

Нужно с PHP передать на серверное приложение данные по SSL, дождаться ответных данных и вывести их на экран.



Написал такой код на PHP:

<br>
<?php<br>
error_reporting(E_ALL);<br>
<br>
$fp = fsockopen("ssl://localhost", 6000);<br>
<br>
$send = "hello";<br>
<br>
fputs($fp, $send);<br>
$html = fread($fp, 1000000);<br>
fclose($fp);<br>
<br>
echo "<pre>".$html."</pre>";<br>
?><br>




И функция приема сообщения на QT4

<br>
void CConnThread::slotReadyRead()<br>
{<br>
    //Создать поток данных.<br>
    QDataStream in(sslSocket);<br>
    in.setVersion(QDataStream::Qt_4_4);<br>
<br>
    //Если пришла первая часть из посланной клиентом информации.<br>
    if(blockSize == 0)<br>
    {<br>
       cout << "data transfer from client" << endl;<br>
        //Если первая часть меньше того кол-ва информации что определяет размер всего сообщения...<br>
       if(sslSocket->bytesAvailable() < (int)sizeof(qint64)) return;<br>
<br>
       //Получить размер посылаемого клиентом сообщения.<br>
       in >> blockSize;<br>
    }<br>
<br>
    //Если последующие части вместе взятые меньше, чем определенное клиентом кол-во...<br>
    if(sslSocket->bytesAvailable() < blockSize) return;<br>
<br>
    //Обнулить параметр размера посылаемого клиентом сообщения.<br>
    blockSize = 0;<br>
<br>
    //Получить строку сетевого сообщения.<br>
    QString message; in >> message;<br>
<br>
    //Далее... творим ;)<br>
<br>
    cout << message.toAscii().data() << endl;<br>
<br>
    this->sendMessage("received!");<br>
}<br>
<br>
void CConnThread::sendMessage(QString message)<br>
{<br>
    QByteArray block;<br>
    QDataStream out(&block, QIODevice::WriteOnly);<br>
    out.setVersion(QDataStream::Qt_4_4);<br>
    out << (qint64)0;<br>
    out << message;<br>
    out.device()->seek(0);<br>
    out << (qint64)(block.size() - sizeof(qint64));<br>
    sslSocket->write(block);<br>
}<br>




Но вот проблема — данные приходят (о чем свидетельствует вывод строки data transfer from client), но не выводятся на экран. Сам же ПХП-скрипт подвисает после отправки (ждет ответа, но не получает его). Что я сделал не так?

PHP   Qt   C++   Цифровые   сертификаты    

73   6   08:54, 11th August, 2020


Книги по ООП в PHP

Посоветуйте пожалуйста популярных книг по ООП в PHP. На русском или на английском. Раньше все делал в процедурном стиле, но чувствую надо двигатся дальше. С ООП в целом знаком, но хотелось бы почитать что-нибудь конкретно применительно к PHP, особенности там какие, best practice и т.п.
Спасибо.

PHP   Книги   ООП    

136   8   04:59, 15th August, 2020


Блокировка страниц при совместном редактировании

Доброго времени суток.

Есть такая структура базы данных

image

Краткое описание:

users — таблица пользователей.

user_roles — роль пользователя в конкретной свадьбе, пользователь может участвовать в редактировании
нескольких свадеб.

wedding — таблица свадеб.

user_edit_rights — Права пользователя в конкретной свадьбе на редактирование того или иного модуля.

user_module_locks — Блокировки пользователем конкретного модуля

user_right_modules — список модулей которые можно редактирвать.

modules — список всех модулей на сайте.

Задача сделать блокировку отдельных страниц для совместного редактирования,
то есть чтобы страницу мог редактировать только один пользователь.

Я решил сделать так:

1. После того как пользователь заходит на страницу выполняется следующий запрос.

SELECT

users.user_id,
modules.module_id,
IF(user_edit_rights.user_id = users.user_id, 1, 0) AS user_can_edit_module,
my.module_id AS user_lock_module_id,
IF(other.user_id != users.user_id,1,0) AS another_user_lock_module

FROM users

INNER JOIN user_roles ON users.user_id = user_roles.user_id

INNER JOIN wedding ON wedding.id = user_roles.wedding_id

LEFT JOIN modules ON 1

LEFT JOIN user_edit_rights ON user_edit_rights.user_id = users.user_id AND user_edit_rights.wedding_id = wedding.id AND user_edit_rights.module_id = modules.module_id

LEFT JOIN user_module_locks AS my ON my.wedding_id = wedding.id AND my.user_id = users.user_id

LEFT JOIN user_module_locks AS other ON other.wedding_id = wedding.id AND other.module_id = modules.module_id

WHERE users.user_id = 3285
AND wedding.id = 72
AND modules.name = 'gifts'


Результат его выполнения выглядит примерно так:

user_id module_id user_can_edit_module user_lock_module_id another_user_lock_module
3285 10 0 2 0


После этого я могу либо добавить запись в таблицу user_module_locks
либо обновить либо удалить ненужные блокировки. То есть дальнейшая
логика приложения зависит именно от результата выполнения данного запроса.

Меня смущают 6 джоинов (в идеале 8-9) и постоянная необходимость выполнения этого запроса
и запроса на манипуляцыю (update, insert, delete) данных в таблице user_module_locks
данные в этой таблице будут постоянно изменятся при переходе пользователя от одной
страницы к другой. EXPLAIN данного запроса показывает что все SIMPLE и скорее всего
одновременного редактирования многими пользователями не будет (онлайн < 10 человек).

Больше всего меня интересует вопрос нормально ли это когда для получения полной
сущьности используется один запрос с большим кол-вом джоинов?

А также примерный алгоритм для организации редактирования данных несколькими
пользователями сразу.

А также нормально ли когда первичный ключ состоит из 3х и более полей?

PHP   MySQL    

22   2   15:01, 19th August, 2020


win7 64bit + 32bit apache2 + php

Пытаемся настроить апач на винде 7й. Апач 2.2.17 no-ssl, php 5.2.17. Винда — 64 бита, апач и пхп 32 бита, т.к. пхп 64 битного нет.
Указывает php.ini, указываем путь к apache2_php.dll — перезапускаем сервер и… «Операция неожиданно завершилась»

В системном журнале:

«Сбойное приложение httpd.exe, версия 2.2.17.0, штамп времени 0x4cbbe9e8, сбойный модуль php5ts.dll, версия 5.2.17.17, штамп времени 0x4d25fb49, код исключения 0xc0000005, смещение ошибки 0x000f424c, ИД процесса 0x20d8, время запуска приложения 0x01cbc7c25385407e.»

Кто нибудь встречался с таким? Что может быть? Может из за несовпадения разрядности (64 vs 32)?

PHP   Apache   Windows    

84   6   19:18, 1st August, 2020


Развертка веб-приложений на windows-серверах(iis, php)

Есть такой вопрос — кто какими средствами для развертки новых версий приложения пользуется на windows?

На *nix — есть capistrano, chef и иже с ниим, а для windows готовых решений найти не удалось. На данный момент используется самописный скрипт развертки, однако такое решение будет работать только пока сервер один.

PHP   IIS   Развёртывание   ПО    

101   1   21:05, 23rd August, 2020


Статьи про кэширование в PHP

Кэширование в PHP для меня до сих пор остаётся тёмной областью. Во многом это связано с том, что все статьи деляться на две категории:
1) Сейчас мы расскажем вам про буферизацию вывода...(до чего я и сам додумался :) )
2) Работа с memcache и нагруженные проекты(что превышает мои потребности на данный момент)

Между тем, посмотришь на коды различных CMS: там всё намного разнообразнее. Кроме кэширования целой страницы могут кэшироваться отдельные модули, результаты запросов, вот это всё меня и интересует больше всего. Но по коду осознать реализацию у меня не очень получается.

Теоретические то статьи я видел, практики бы, как это лучше писать, чтобы потом не пришлось переписывать, периодечески матерясь :)

PHP   Кэширование    

111   6   15:04, 19th August, 2020


Образцовые PHP web приложения с открытым кодом для обучения?

Ищу web приложения исходники которых очень помогут в самообучении.



Суб доменные сессии через аякс запросы

Вот начал разбирать эту тему, нашел интересную проблему:
Установил параметры в .htacess
php_value session.cookie_domain .portal.my
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule >

В php указал для всех кук те же параметры
session_set_cookie_params(60*60*24*14,'/','.portal.my');
Проверил — все куки нормально ставятся на .portal.my и доступны с любых под доменов. Но проблема возникла в аякс запросах: Параметр «Header set Access-Control-Allow-Origin „*“» разрешает делать аякс запросы на суб домены, но куки, которые с них приходят он игнорирует, хотя фаербаг показывает, что они приходят. Подскажите, как с этим бороться?

AJAX   PHP   HTTP   Cookies    

88   2   03:33, 10th August, 2020


PHP генератор графиков

Всем привет!
Пишу модуль для генерации отчетности на сайте, необходим скрипт, который будет генерировать графики (конкретно отображать количество определенных событий по дням)

До сих пор пользовался jqPlot для вывода графиков на страницы, теперь понадобилось вставлять графики в pdf-документ, поэтому нужен простой скрипт чтобы я ему скрамливал csv/массив с данными а он сам выбирал шаги координатных осей и все остальное и отдавал мне готовую картинку, пригодную для вставки в PDF

Графики такого рода:


Понятно что можно написать и самому но предвижу кучу мороки с автоподбором шага координатных осей, поэтому интересуюсь наличием готовых решений

PHP   Инфографика    

69   6   12:46, 17th August, 2020


Типы в PHP. Разрыв шаблона

<?php
$result = (0 == "php") ? TRUE : FALSE;
var_dump($result);

// Почему TRUE???

PHP    

147   1   17:32, 22nd August, 2020


Оптимизация phpBB 3

Крутится форум на phpBB 3, сообщений около 100000, размер БД сейчас — 300 мегабайт.

На главной странице форума около 130 запросов за раз, в разделах категорий ~70.

Как это оптимизировать? С ходу кэширующих плагинов не нашел, только какой-то кустарный способ прикручивания memcached.

UPD: поставил APC, полегчало. Но ищу решение на стороне phpBB, уменьшить кол-во запросов.

phpBB    

109   3   21:06, 1st October, 2020


Подход или реализацию для валидации форм?

Есть несколько форм, необходимо провести валидацию данных для каждой формы в отдельности. Есть несколько проблем:


Как должна выглядеть валидация:


необязательного поля, но, если оно заполнено, то оно должно соответствовать определённому условию,


нескольких необязательных полей, но хотя бы одно из них должно быть заполнено,


нескольких необязательных полей, но, если заполнено одно из них, то должны быть заполнены и остальные?


Как должна выглядеть композиция предыдущих пунктов?


Или не стоит заморачиваться на такую гибкость и написать специальные проверки для таких случаев?

PHP   Валидация    

56   2   09:24, 24th August, 2020


Безопасный кроссдоменный обмен данными между AJAX и PHP

На одном сервере лежит PHP скрипт, на другом есть сайт, использующий AJAX. Как передавать между ними данные, чтобы гарантировать конфеденциальность и невозможность подделывания (вместо AJAX может быть и Flash, и обычные GET/POST запросы — на сокетах то просто, а нужно вот так вот)?

Единственное, что приходит в голову, это дополнительный скрипт ПХП и сокеты + SSL. Но это не очень удобно (т.к. может использоваться флеш без ПХП). Использование секретных ключей не кажется мне безопасным — флеш или яваскрипт легко стянуть и подстмотреть всю информацию. RSA — в одну сторону отправлю, но в обратную опять же — можно подсмотреть секретный ключ.

Какие есть варианты?

AJAX   PHP   JavaScript   Информационная   безопасность    

106   6   02:07, 22nd August, 2020


Организация кода, паттерн, php?

есть какой метод, кроме результата от работы этого метода хочется получать какую-то инфу


например вот код:

public function parserText($a) {<br/>
 ...<br/>
 return $b<br/>
}



но в результате работы кода, например, текст $a был слишком длинным и мы его обрезали до 100 символов. Или мы обработали $a и вернули $b, но в при обработке кода мы обрабатывали $a как будто он в кодировке ХХХ


Так вот вопрос, как собирать подобную сопутсвующую инфу работы скрипта.


возвращать return (array($b, $infoMessage)); не хочется — слишком крутые изменения по коду, да и интерфейс нарушается,


Могу ещё внедрять в метод передачу по ссылке и после работы скрипта смотреть что в $infoMessage появилось

public function parserText($a, &$infoMessage) {<br/>
 ...<br/>



Какие можете ещё посоветовать достойные решения этой проблемы?

PHP    

130   3   10:09, 7th August, 2020


Различия между классом и объектом?

К своему стыду, внезапно, осознал, что не понимаю разницы между классом и объектом.

Т.е. чисто теоретически понимаю, что объект это экземпляр класса, т.е. класс это как бы заготовка, а уже объект это уже «вещь», с которой можно непосредственно работать.

Но тогда почему (если рассматривать вопрос в PHP), я все-таки могу работать с методами класса ( ClassName::MethodName() ), так же как и с методами объекта ( $c = new ClassName; $c->MethodName() ), хотя, в первом случае никакого объекта не создано.

Или, в данном случае, класс это просто как бы группа глобальных функций в своём «пространстве имен», которые не требуют «персонализации» путем задания уникальных значений их свойств?

Поиск в гугле почему-то не помог, в основном приводятся аналогии вида «Класс — чертежи машины, объект — сама машина», но ни слова о практическом применении.

Заранее благодарен за разъяснения, а то сия каша в голове уже начинает напрягать =)

PHP   ООП    

79   7   14:37, 20th August, 2020


Подскажите простую CMS на PHP

Что нужно:
1) Один или несколько файлов шаблона
2) Файловая система контента, никакой админки, просто подстановка контента в нужные места шаблонов

Спасибо :)

CMS   PHP    

92   15   06:00, 28th August, 2020


Книги по синтаксису php для опытного программиста на других языках

Насоветуйте книжек, для опытных программистов. Т.е. я не хочу пол книги читать то зачем нужен фор, что такое итератор, чем класс отличается от объекта и прочие одинаковые во всех языках вещи, и особенно про принципы ООП, это сейчас в каждой книге любят написать. Имеется 4 года опыта программирования на C++ и пол года на as3. Собственно с php и так работаю по мелочи, в принципе всё обычно и понятно, за исключением некоторых моментов. Хочется книгу которая не будет рассказывать зачем мне цикл, а расскажет как работает итератор в foreach и что он работает с копиями объектов а не со ссылками на них(меня это сильно удивило, я в foreach устанавливал объекту свойство а на выходе ничего нет). И прочие тонкости. Например когда объекты удаляются. Когда происходят лишние копирования и как их избежать.

PHP   Книги    

101   6   11:55, 23rd August, 2020


Обработка фрейма на php?

На сайте имеется фрейм, в котором загружается другой сайт, дизайн которого нужно подогнать под существующий сайт.

Возможно ли изменение html во фрейме средствами php, и если да, то каким образом?

PHP    

82   2   14:16, 7th August, 2020


Текст с тенью в php?

Можно ли сгенирировать картинку на которой будет текст с тенью и объемом?


Пример:

rus2.png

PHP   Обработка   текста    

23   3   02:18, 5th August, 2020


PHP Web IDE

Возникла необходимость использования PHP IDE с веб-интерфейсом. В принципе, подошел бы просто редактор файлов с подсветкой.
Гугление подсказало идеальный сервис — phpanywhere.net/ — но нет уверенности в его безопасности.
Подскажите, пожалуйста, есть ли подобные решения с возможностью установить код на своем сервере?

PHP   IDE    

118   3   14:40, 13th August, 2020


[Решено] PHP и потеря сессии при session_regenerate_id()

Если кратко, берем код:

<?php



session_start();



if (!isset($_SESSION['a']))

{

	$_SESSION['a'] = 0;

}



ob_start();



print $_SESSION['a'];



$_SESSION['a']++;



session_regenerate_id(true);



?>



Открываем в firefox, обновляем страницу несколько раз. Счетчик растет.
Зажимаем Ctrl-R и видим, что потеряли сессию.

Пример несколько синтетический, но часто подобный эффект проявляется при нормальной работе с приложением. Суть в том, что идентификатор сессии изменился, а куку браузер не успел (или не захотел) принять.

Лечится?

PHP   Сессии    

80   2   02:03, 13th August, 2020


Использование реестра через wrapper без синглтона в PHP?

Насколько уместно использование подобной конструкции для использования реестра:

$___REGISTER = (object) array(); // Создаем StdClass для работы с массивом как с объектом

function &Reg()
{
    return $GLOBALS['___REGISTER'];
}

// Применение

Reg()->config = (object) array();
Reg()->config->host = 'habrahabr.ru';
Reg()->config->admin = '[email protected]';
Reg()->config->name = 'Хабрахабр';

// ... и т.д. и т.п.



Использую для замены:
Register::set('config', array(/*... */));
$config = Register::get('config');



Какие подводные камни могут быть при использовании такой обертки? Использовали бы вы такой враппер в своих проектах? Где его 100% не нужно использовать?

PHP    

124   3   21:06, 1st October, 2020


Что использовать в качестве соли для md5?

В cms используется автоматическое создание превью изображений.

Для этого в mod_rewrite настроено правило, по которому запрос к несуществующей картинке, например image.100x100.jpg, перенаправляется на скрипт, создающий превью изображения image.jpg размером 100x100.


Для того, чтобы злоумышленник не мог самостоятельно вызвать создание любого превью, в этот скрипт передается так же некий токен, который является md5(имя файла + соль).


Суть проблемы в выборе соли, а именно:

Не хочется просить пользователя придумывать соль при установке cms.

Не хочется автоматически генерировать соль при установке, так как не все пользуются установщиком, таким образом соль у многих будет одинаковая, чего допускать нельзя.

Вообще, не очень хочется где-либо хранить её.


Хочется просто «на лету» брать в качестве соли некие данные, которые уникальны для каждой копии скрипта и неизвестны злоумышленнику.


Например, время последней модификации какого-то файла подошло бы, если бы не подбиралось так легко.

Так же подошло бы просто имя домена, на котором работает скрипт, но оно известно злоумышленнику.


Ну и, очевидно, соль не должна меняться со временем, по крайней мере какое-то достаточно длительное время


UPD: похоже darkslesh указал верный путь — хранить в настройках соль(как просто случайное число)+домен, для которого она создана, и при несовпадении домена в настройках с реальным доменом, перегенерировать соль.

PHP   Хеширование    

67   7   13:31, 1st October, 2020


Посоветуйте PHP IDE под Linux, написанную не на Java

Посоветуйте PHP IDE под Linux, написанную не на Java.
Спасибо.

PHP   IDE    

32   14   23:57, 1st October, 2020


Solaris, php5: rmdir: Invalid argument [solved]?

Код:
1070592

Вывод:
1070591


[email protected]:~$ uname -a

SunOS random.net.ua 5.10 Generic_142910-17 i86pc i386 i86pc


[email protected]:~$ /opt/csw/php5/bin/php -v

PHP 5.2.9 (cli) (built: May 6 2009 21:48:48)

Copyright © 1997-2009 The PHP Group

Zend Engine v2.2.0, Copyright © 1998-2009 Zend Technologies


[email protected]:~$ cat /opt/csw/php5/lib/php.ini | grep open_base

; open_basedir, if set, limits all file operations to the defined directory

;open_basedir =


[email protected]:~$ cat /opt/csw/php5/lib/php.ini | grep safe_mode

safe_mode = Off

; then turn on safe_mode_gid.

safe_mode_gid = Off


Есть идеи?

UPD: solved: www.zenphoto.org/trac/ticket/1838#comment:4

PHP   Solaris    

39   3   12:22, 1st October, 2020


Zend Guard, php 5.3.5?

Имею систему Debian Squeeze, php5.3.5 (из dotdeb), имею сайт который закодирован Zend'ом, сайт жил на хостинге с php 5.2.x и Zend Optimizer, сейчас пробую его перенести на дедик, с установленным Zend Guardom (я так понял он заменяет Zend Optimizer). Но сайт не запускается, в error.log ничего не пишет, выдает "500 Internal Server Error". В чем может быть проблема?

в phpinfo() показывает что Zend Guard подключен.

This program makes use of the Zend Scripting Language Engine:<br/>
Zend Engine v2.3.0, Copyright © 1998-2010 Zend Technologies<br/>
 with Zend Guard Loader v3.3, Copyright © 1998-2010, by Zend Technologies<br/>
 with Suhosin v0.9.32.1, Copyright © 2007-2010, by SektionEins GmbH<br/>
...<br/>
Zend Guard Loader:<br/>
Zend Guard Loader enabled<br/>
License Path no value<br/>
Obfuscation level 3 <br/>


В php.ini писал так:

zend_extension = /full/path/to/ZendGuardLoader.so<br/>
; Enables loading encoded scripts. The default value is On<br/>
zend_loader.enable=1

PHP   Apache   Debian    

109   5   21:06, 1st October, 2020


Как авторизоваться на novafilm.tv при помощи cURL?

Что то я тут затупил на тему передаваемых данных.

Если на других трекерах достаточно постом передать лог/пасс и нажатие на кнопку

curl_setopt($ch, CURLOPT_POSTFIELDS, «FormLogin={$log}&FormPassword={$pass}&act=login»);

и всё работает, то тут я так понимаю всё передаётся в заголовках, но судя по логам помимо log, pass ещё куча каких то данных передаётся:

-----------------------------14042802788933518161505795335

Content-Disposition: form-data; name=\«return\»


/

-----------------------------14042802788933518161505795335

Content-Disposition: form-data; name=\«username\»


{$log}

-----------------------------14042802788933518161505795335

Content-Disposition: form-data; name=\«password\»


{$pass}

-----------------------------14042802788933518161505795335

Content-Disposition: form-data; name=\«login\»


???????? ??????????!

-----------------------------14042802788933518161505795335--

что то вообще такое? Попробовал в таком виде заголовок отправить — сервер ничего не возвращает, если не слать — вываливается форма авторизации соответственно. Может кто уже писал авторизацию под нову и подскажет или просто умную мысль подкинет?

PHP    

381   3   23:33, 2nd October, 2020


PHP интерпретатор не понимает index.php

Если ввести адрес как www.site.ru/index.php — сервер отрабатывает и показывает скрипт, если же ввести без явного указания файла www.site.ru — апач мне выплёвывает индексный файл без обработки.

Подскажите пожалуйста, что это за чудеса и как это вылечить?

ubuntu 10.04
php 5.3 (mod_fcgid), apache2

PHP   Apache    

140   4   21:06, 1st October, 2020


Наследование свойств PHP?

Добрый вечер! Сразу оговорюсь что я в ООП начинающей. Столкнулся с такой проблемой:


Класс a

class a {<br/>
<br/>
var $boby;<br/>
<br/>
$b = new b();<br/>
<br/>
}<br/>



Класс b наследник а

class b extends a {<br/>
<br/>
$this-&gt;boby=&quot;Текст&quot;;<br/>
<br/>
}<br/>



Все это подключаю к файлу a.php

&lt;?php<br/>
 $a= new a(); <br/>
?&gt;<br/>
<br/>
&lt;?php echo $a-&gt;body; ?&gt;<br/>
<br/>



Если свойство задать в классе a то оно выводится, а если его определить в классе b то оно не выводится.


Как это побороть подскажите.

PHP   ООП    

107   3   11:06, 1st October, 2020


Информация по паукам (crawler, синтаксический анализатор) в PHP?

Здравствуйте.


Возникла передо мной задача написать парсер контента сторонних сайтов на php. Идеология работы этого модуля следующая:


— администратор задает правила парсинга конкретного сайта (страницы), присваивая определенным селекторам (тегам) веса;

— модель парсит сайт (страницу);

— полученный после парсинга результат мы анализируем, применяя к нему правила, введеные администратором. На выходу мы должны получить контекст страницы вида array('word1'=>int(...), 'word2'=>int(...)...). Здесь word1 — это слово, выделенное пауком со страницы, а int(...) — это вес содержимого, полученный после применения к результату парсинга правил администратора. Т.о. мы можем получить примерный контест страницы, т.е. система получит представление о выжимке содержимого с анализируемого ресурса.


Парсинг контента — это не проблема. Можно использовать нативный DomDocument — XPath (быстро по скорости, но затратно по созданию и поддержке), Zend_Dom_Query илиphpQuery или Нокогири(тема) хабраюзера w999d — медленнее по скорости, зато проще по написанию, хорошие возможности для парсинга. (Если кто-то знает хорошие библиотеки для парсинга, не указанные мной, — подскажите.)


Так вот, сам вопрос, каким образом организовать анализ и разбор содержимого на странице, чтобы на выходе получить некую выжимку, контекст содержимого (сайты для парсинга будут разнообразные по структуре и содержанию). Есть ли открытые решения (open-source crawlers), которые бы эффективно анализировали страницу? Может быть вы подскажите информацию по построению поискового индекса?


Прошу прощения за несколько расплывчатое изложение вопроса, спасибо за внимание!

PHP   Crawling    

49   4   21:06, 1st October, 2020


Кэширование данных до запроса в PHP

Проблема: К базе данных происходит около 200 однотипных запросов, но одинаковых нет, каждый раз меняется по одному параметру, поэтому кэширование результата тут не подходит.

Я заранее знаю диапазон записей к которым происходит запрос, поэтому родилась такая идея — выбрать все эти данные заранее и вместо запроса уже перебирать данные в массивы.

Писать этот механизм руками неохота, скорее всего должны быть уже готовые решения, собственно и вопрос — кто-нибудь знает про что то подобное?

Слышал что в .net есть подобная штука — DataTable называется.



PHP + DB4

Для одного высоконагруженного проекта используется PHP-модуль DB4 для хранения всех данных. Версия PHP 5.2.3.
Возникают постоянные проблемы «поломки» файлов базы, когда в неё становится невозможно что-то записать, приходится пересоздавать файл базы и перезаписывать в него данные.
Также есть другие проблемы — например, в модуле не реализована блокировка файлов при записи поэтому иногда возникают ситуации с потерей данных.
Нужно поменять базу данных, но подходящих вариантов я так и не нашел. Пробовал перейти на MongoDB, но есть две проблемы — невозможность использовать точки в ключе и невозможность писать текст в не-utf кодировке. Также изучался tokyo tyrant, но не подходит его структура, нужна древовидная структура или хотя бы БД-Контейнер как в MongoDB.
Нашел упоминание о BDB 5, начиная с версии PHP 5.3.3. Но информации о том, что это за зверь такой и решены ли в нем проблемы DB4 я не нашел.
Что посоветуете?

PHP   NoSQL    

136   1   11:57, 2nd October, 2020


PHP Controls

Изучая ASP.NET я был ошеломлен контролами, которые на основе базы данных строят и таблицу, и формы для добавления/удаления/редактирования, а так же сами «пришивают» AJAX по запросу в два клика мышкой.
Меня интересует есть-ли аналоги для PHP? Которые на основе базы данных (MySQL) нарисуют и таблицу, и формы.
За ранее спасибо за ответ!

PHP    

21   7   22:10, 2nd October, 2020


Какие методы vk api доступны с php

Делаю open api приложение, использую класс vkontakte.ru/source/APIServerPHPClass.zip

Как оказалось основная часть методов не доступна.

Так работает:
<?
require 'vkapi.class.php';
$api_id = 1234; // Insert here id of your application
$secret_key = ' your secret key '; // Insert here secret key of your application
$VK = new vkapi($api_id, $secret_key);
$resp = $VK->api('getProfiles', array('uids'=>'1,6492'));
print_r($resp);
?>


Так нет:
<?php
require 'vkapi.class.php';
$api_id = id приложения; // Insert here id of your application
$secret_key = 'ключ'; // Insert here secret key of your application
$VK = new vkapi($api_id, $secret_key);
$resp = $VK->api('photos.getAlbums', array('uid'=>'id пользователя'));
print_r($resp);
?>


Вопрос: где можно конкретно прочитать какие методы досутпны, какие нет?
Или я что-то делаю не так?

PHP   API   ВКонтакте    

55   4   17:50, 2nd October, 2020


PhpStorm 2.0 + XDebug

Приветствую!

Помогите с настройкой PhpStorm 2.0 с XDebug (denwer). А то как-то странно он работает у меня, то дебажится, то нет.

Я захожу в Debug Configuration, добавляю новую PHP WebApplication.
Далее Configuration — Server — добавляю новый:
Host: localhost
Port: 9000
Debugger: XDebug
Use path mappings: no

Нажимаю debug — открывается браузер site.com/?XDEBUG_SESSION_START=18872

PhpStorm пишет только Waiting for incoming connection with ide key '18872' и все.

php.ini:
[xdebug]
zend_extension=\usr\local\php5\ext\php_xdebug-2.1.0-5.3-vc6.dll
xdebug.remote_enable=1
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_handler=«dbg

Заранее спасибо!

Xdebug   PhpStorm    

50   3   21:06, 1st October, 2020


Почему трудно найти PHP программистов в Казани?

Уже месяц ищем двух PHP программистов, вроде и требования не очень жесткие, и з\п вроде нормальная — нет почти никого.

Зарплата от 20 до 45 тысяч, в зависимости от знаний.

Где вообще можно найти нормальных PHP программистов??

PHP    

64   11   00:35, 2nd October, 2020


PHP — как сделать толковый кэш?

Задача

Есть сайт — новостная лента. Двиг — самописный, PHP + MySQL. В данный момент с каждым посещением страницы информация формируется из БД.


Срочно надо перейти с динамики на статику.

То, как я придумал это сделать
  • При первом посещении странички c id=1500 — содержимое берется из БД и записывается в файл cache/1500.html. Делается с помощью ob_start().
  • При повторном посещении этой странички — смотрим дату создания файла 1500.html, если дата меньше 15 минут от тек. времени, инклудом выводим 1500.html. Если больше 15 минут — снова берем из БД и перезаписываем файл.


Вопросы
1. Комментарии к новостям. Получается, при добавлении нового комментария необходимо будет убивать файл 1500.html? Сайт живой, комментов много. Вот не знаю, я хард не задолбаю такими запросами?

2. Статистика количества просмотров новости. При каждом посещении продолжать делать «UPDATE `views` = `views` + 1» или может есть какое-то другое решение? А то выходит не до конца статика получится, если будут постоянно запросы в БД улетать.


Поделитесь, пожалуйста, мыслями по поводу такой реализации. Может кто-то уже внедрял что-то подобное, какие могут возникнуть проблемы? Может сущетсвуют подводные камни, о которых я пока не подозреваю?

PHP    

84   9   20:35, 1st October, 2020


DDoS — как уменьшить нагрузку на php?

Задача


Недавно спрашивал о настройке кеша на php. Нужно это было, чтоб уменьшить нагрузку на MySQL, т.к. идет DDoS на сайте (по 40к коннектов за раз).

На скорую руку сделал этот кэш. При первом заходе на страничку c ID = 1500 — берет её из БД, кидает копию страницы на хард под именем 1500.html. Сверху в коде стоит проверка — если существует файл 1500.html, делает

include('cache/ID.html');
die();


Нагрузка на MySQL дейтвительно упала, но теперь в топе куча процессов php-cgi с большим процентом нагрузки. Соответственно, сайт лежит.

P.S. Фильтрами на уровне ОС от ддос отбиться не получается. Какой-то там хитрый ддос.

Вопрос


Я так понимаю, php парсит index.php и отсюда идет нагрузка. Может я как-то не так разместил проверку на существование файла 1500.html?

Как лучше сделать, чтоб при наличии кеша странички на харде была минимальная нагрузка на php?

PHP   Защита   от   DDoS    

141   10   11:28, 2nd October, 2020


Формирование кода видео Вконтакте

Нужно автоматически формировать из ссылки на видео:

vkontakte.ru/video-15228195_139953350

код iframe с видео вконаткте:

<iframe src="http://vkontakte.ru/video_ext.php?oid=-15228195&id=139953350&hash=9fbf1b10f49ace31" width="607" height="360" frameborder="0"></iframe>


Непонятно как формируется параметр hash, api vkontakte.ru/developers.php?o=-1&p=video.get тоже не предоставляет код плеера.

PHP   ВКонтакте   Видео    

405   3   23:23, 2nd October, 2020


PHP Качество preview фотографий?

Привет.


С помощью чего можно добиться такого же качества создания превью фотографий как вконтакте?


Я использую либу GD.


Качество фотографии вконтактике:

ff90d871.jpg


Качество фотографии моим скриптом:

75c6265b.jpg


Большое фото: habrastorage.org/storage/cc25b25a/d18df0d0/cf683fb...


При всем при этом фото вконтакте с лучшим качеством весит 7кб, а моя 16кб…


Мой скрипт: pastebin.com/YUAYdPCf


Собственно необходимо решить 2 проблемы.

Сделать качество лучшим и при этом уменьшить размер превью.

PHP    

137   4   22:14, 1st October, 2020


PHP Framework с широкими настройками дополнительных параметров модели?

Что я имею в виду. Например, в Symfony можно построить YML-прототип модели, и мне сгенерируют по ней базу и стандартные модули. Однако, если я захочу добавить модель дополнительные данные, не относящиеся к БД (например, привязанные к полям их понятные названия на русском, или иконки, или еще что-нибудь), то это уже затруднительно. А есть Framework с поддержкой такой функциональности?

PHP   Фреймворки    

123   2   19:12, 2nd October, 2020


NetBeans 6.9.1, поведение вкладок редактора (PHP)

Как изменить поведение вкладок при переключении через ALT+TAB, необходимо, чтобы они переключались в той последовательности, в которой они открыты, а не как вздумается или «последняя активная».

PHP   NetBeans    

98   2   08:52, 2nd October, 2020


Eval() в PHP не является функцией. Как быть?

В PHP eval() не является функцией: «Because this is a language construct and not a function, it cannot be called using variable functions» (ссылка).


Опция disable_functions в php.ini на eval() не влияет.


Как запретить использование eval(), не прибегая к safe mode?

PHP    

78   4   18:05, 1st October, 2020


Как правильно писать сайты под 2 и более языка?

Предстоит начать писать сайт. Интерфейс будет как на английском так и на русском. Хотел бы узнать как грамотно реализовать перевод сайта (кнопочек, рюшечек, менюшек, ссылок, заголовков, таблиц, форм). Так что бы не городить по 2 и более набора шаблонов под каждый язык.


Пока что склоняюсь к доп. модулю Gettext для Smarty

Язык PHP.


Может есть варианты получше ). Спасибо.

PHP   Интернационализация   и   локализация   Smarty   Gettext    

95   3   12:33, 1st October, 2020


Как установить Zend guard на thread-safe версию PHP 5.3.5?

Собираю локальный вёб сервер на винде. За основу был взят PHP 5.3.5 (thread-safe и Apache 2.2.17. Всё установилось без проблем НО… возникла необходимость поставить на сервер Zend Guard. Не проблема, решил я и пошёл на сайт Zend где скачал версию для PHP 5.3.x, поставил всё по read me, запускаю, и он мне выдаёт ошибку на отсуствующий файл php5.dll. Немного гугления, навело меня на мысль что Zend Guard просто напросто не поддерживает thread-safe версию PHP и что его надо ставить только на non-thread-safe версию.



Я бы поставил non-thread-safe версию PHP и не писал бы этот вопрос, НО… при установке non-thread-safe версии, оказалось что там нет важного файла для подключению к Apache, а именно php5apache2_2.dll, и как оказалось, это вовсе не баг а фича.



Так и получается что Zend Guard никак не поставить. Может хабралюди смогут предложить решение этой проблемы?

PHP   Apache    

25   1   15:43, 1st October, 2020


Уведомления в skype на php

Для одного из наших проектов нужны уведомления в skype. Гуглил — но ничего рабочего не нашёл.
Подскажите варианты для отправки сообщений в скайп, желательно под *nix системами.

Skype   PHP   Уведомления    

48   3   21:06, 1st October, 2020


ubuntu 10.10 установка определенной версии php (5.1.6)

Ребята, подскажите, как установить определенную версию php в ubuntu.

Номер версии критичен 5.1.6.
Еле-еле нашел станицу с исходниками php.net/releases/index.php :)

ubuntu 10.10
php (5.1.6) (в репах идет уже 5.3.х)

ПС:

В итоге собрал .deb пакет (c mod_php) narod.ru/disk/7487191001/php_5.1.6-1_amd64.deb.html

Инструкция по сборке:


Прелюдия:

  • Скачать требуемые исходники php на странице php releases
  • Установить build-essential и checkinstall


Компиляция:

  • cd yours_package_dir
  • ./configure
  • make
  • sudo checkinstall


checkinstall is the command creates debian package for you. at the end, terminal will show you where the .deb package is located.

PHP    

80   2   05:38, 1st October, 2020