Рубрика: PHP

Как написать парсер на php

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

Скачиваем файлы через file_get_contents (file_get_contents, urlencode и .рф домены)

Не секрет, что самым простым способом получить содержимое файл в PHP из сети является функция file_get_contents(). Но те, кто попробовали ее использовать, сталкиваются с двумя насущными проблемами: Функция отказывается работать, если в адресе есть пробел Функция отказывается работать с адресами в зоне .рф Первая проблема решается очень просто, достаточно закодировать эти пробелы функцией urlencode. Но опять …

trim (html_entity_decode()) — проблема с удалением nbsp из начала или конца строки

Несмотря на многолетний опыт разработки на php, порой натыкаюсь на совершенно рядовые, но неизвестные вещи. Это было для меня открытием и ударом — неспособность удалить пробел из строки Официальная документация, содержит комментарий по этому поводу: Замечание: Может показаться странным, что результатом вызова trim(html_entity_decode(‘ ‘)); не является пустая строка. Причина том, что ‘ ‘ преобразуется не в символ с ASCII-кодом …

Разбить большой файл на части на php

Данный скрипт предназначен для разбивания большого файла на две части — по количеству строк $h = fopen(‘www.dostavka.ru.txt’, ‘r’); $counter = 0; while ($line = fgets($h)){ $counter++; } $half = ceil($counter/2); rewind($h); $file1 = fopen(‘file1.txt’, ‘w+’); $i = 1; while ($i <= $half){ $line = fgets($h); fwrite($file1, $line); $i++; } $file2 = fopen(‘file2.txt’, ‘w+’); while ($line = …

Постинг вконтакте php

Проанализировав документацию API Vkontakte, я пришел к выводу, что Api вконтакте не позволяет программно постить на стену группы сообщения. По крайней мере простого способа это сделать не предусмотрено. Думаю, это сделано как раз для того, чтобы не засорять паблики автоматическими сообщениями. Тем не менее, сложный способ это сделать есть. Постить на стену вконтакте можно, комбинируя использование …

Создание приложения vkontakte

Создать приложение Вконтакте можно здесь. Заполняем форму, получаем СМС, еще раз заполняем форму, в результате регистрации приложения мы должны получить два ключа: api_id — идентификатор нашего сайт как приложения в вконтакте api_secret — секретный ключ, который знает только владелец приложения. По нему шифруются данные, которые иначе могут быть подменены/испорчены/искажены злоумышленником, т.е. используется как закрытый ключ для …

Учимся использовать командную строку

Любой веб-программист рано или поздно сталкивается с командной строкой. В первый раз, когда мне пришлось это делать, я хотел поставить какую-то библиотеку PEAR, и тогда я удивился, насколько мало я знаю об этом загадочном черном окне:). Если вы сейчас находитесь в одной из этих ситуаций Вы открыли командную строку и не знаете что делать. Вы отрыли …

Что такое модель в MVC

Первое, что я должен сказать: модели — это слой, второе, — существует различия между классической MVC и той, что используется в веб-программировании. Чем модели НЕ являются? Модель — это не класс и не один объект. Это популярная ошибка, потому что многие фреймворки несут в себе эту ложную концепцию. Моделью не является ORM или абстракция таблицы базы …