Всем привет! Сегодня будем конвертировать изображение формата jpg в pdf — формат документов, разработанный Adobe. Заметьте, совершенно бесплатно. Вопрос, для чего это может понадобиться, обсуждать не буду: если задача возникла, значит, нужно. Если попали на сайт с целью онлайн конвертирования в pdf, воспользуйтесь бесплатной формой под рисунком. Для тех, кому интересно, как это можно сделать с помощью PHP — читайте ...
Архивы с метками: php
Восстановление правильных имён в ZIP архиве
Привет, друзья. Сегодня расскажу о способе «забороть» небольшую проблему, связанную с zip-архивами. Но сначала небольшое вступления, дабы пояснить, зачем может понадобиться восстановление имён. Для обмена файлами фирма использует «гэнэушную» ownCloud. ПО хорошее, позволяет делиться файлами и целыми каталогами. Скачивать можно пофайлово или всё целиком. Во втором случае файлики упакуются в zip-архив. В общем, удобно, если бы не одно «но».
И ещё немного об уязвимостях
Какой аспект является решающим для большинства заказчиков? С большой долей вероятности можно сказать, что это стоимость услуги. Если исполнители называют цену в районе 200-300 долларов, а потом возникает кто-то и берёт ту же работу за 100 долларов, заказчик тает и радостно соглашается. Мало того, после работы ещё оставит хвалебный отзыв и не забудет попенять остальным, мол, вот какие жадные, в ...
Youtube API v3: получаем API key и работаем
Приветствую, друзья! Это уже становится не смешно: сто́ит мне разместить информацию по API для какого-либо сервиса, как в скором времени сервис умирает. Очень надеюсь, что в этот раз статья будет актуальной более длительное время. Итак, сегодняшняя тема — Youtube API версии 3.
Как получить содержимое плейлиста с youtube?
Доброго дня, друзья! Сегодня мы научимся парсить плейлисты youtube. Если для кого-то это звучит дико, не волнуйтесь; во всём обязательно разберёмся. Будет код функции, которая берёт на себя всю работу по получению содержимого фида. Разбираться в ней совершенно не обязательно. Но если желание возникнет, комментации, я надеюсь, в этом помогут. И, конечно же, будет пример использования. Поехали!
PHP: перевод первого символа каждого слова в верхний регистр для кодировки UTF-8
Привет-привет! Сегодняшняя статья может быть полезна пользователям, решившим реализовать собственными силами работу функции ucwords(), но работает это только с латинскими буквами. Данная функция переводит первый символ каждого слова в верхний регистр. Десятый вопрос, зачем такая штука нужна: я поставил задачу и решаю её доступными средствами. Если вдруг вам понадобилась сия фича — аве мне. Для начала посмотрим, какие инструменты необходимы. ...
Вытаскиваем всю информацию из «барного тИЦа»
Приветствую вас, друзья! Наверняка многих из вас помнят, что ранее Яндекс предлагал свою панель для разных браузеров. Помимо всяческих «плюшек» она позволяла узнать и тИЦ, причём, делала это определённым запросом. С тех пор так повелось, что значение, полученное с помощью такого запроса, называют «барным» (в противовес «кнопочному» — получаемому с помощью картинки-кнопки).
Как отразить изображение в php
Сегодня расскажу о забавной фиче, про которую не упоминается в мане. Почти все, кто работал с изображениями, знакомы с функцией imagecopyresampled(), которая предназначена для копирования изображения с изменением его размеров (включая непропорциональное масштабирование). Если по существу, то можно взять произвольную часть с одного изображения и нанести её на произвольный участок другого.
php: проблема с отдачей файлов функцией readfile
Помнится, я искренне не понимал всю прелесть nginx. Ну подумаешь, веб-сервер — эка невидаль, у него даже аналога .htaccess нет и не известно, каким образом производить настройку сервера под свои нужды. Понимание пришло сильно позже — энджин, поставленный фронтэндом перед apache и настроенный на раздачу статики, способен в разы снизить общую нагрузку. Более того, с помощью специального заголовка можно делегировать ...
php: вопросы и ответы, часть 3
Продолжаю тему, которую вкратце можно охарактеризовать как «катехи́зис». Несмотря на то, что некоторые ответы вполне легко можно найти в официальном мане, с удивлением замечаю, что далеко не все умеют им правильно пользоваться. Если знать не только где искать, но и как искать, ответы находятся в кратчайшее время. Так что совет: учитесь пользоваться справочниками, пригодится не раз. а теперь ещё одна ...
php: вопросы и ответы, часть 2
Как показывает практика, большинство людей не любят читать сколь-либо громоздкие статьи, отдавая предпочтение «точечным» решениям. К сожалению, порой простейший вопрос содержит столько нюансов, что их нельзя раскрыть даже в обозримые 2000 символов. Но люди, тем не менее, требуют точного ответа на свои вопросы. что же, уважаемые, удовлетворю вашу просьбу с помощью небольшого количества мини-вопросов, оформленных в виде faq`a.
php: поиск текста песни с использованием api vkontakte
после того, как мы создали простой класс для работе с сервисом vkontakte api, неплохо бы заиметь небольшой пример, дабы в общих чертах понять принцип взаимодействия с крупнейшей отечественной соц-сетью. в принципе, предыдущая статья содержит небольшой пример. но, что называется, для закрепления материала, предлагаю чуть более сложный пример. это будет простейшая реализация поиска текстов песен.
php: решение проблемы удалённого доступа к хосту по его имени
третьего дня совершенно нежданно возникла проблема: на одном из сайтов напрочь перестала работать возможность получения информации с удалённого хоста. соединение производилось через функцию fsockopen(), и проблема вроде бы была в некорректном получении ответа. дальнейшее разбирательство привело к тому, что причина крылась вовсе даже и не в запросах/ответах: указанная функция напрочь отказывалась соединяться с удалённым хостом. но это была лишь часть ...
класс для работы vkontakte api, php
думаю, не осталось людей, которые бы не знали про крупнейшую социальную сеть (да и вообще, топ-сайт) россии — vkontakte.ru. конечно было было бы странно, не предоставляй этот сайт api для взаимодействия с приложениями пользователей. естественно, api есть, и к слову говоря, он гораздо более вменяемый (и простой, да ещё и с русским описанием), нежели api одноклассников. далее я приведу простейший ...
php: получение значения alexa и dmoz
логическим продолжением предыдущих постов является получение параметра alexa, не особо известному у нас, но достаточно распространённый на западе. «продуктом побочной переработки» является возможность получить адрес на сайте dmoz, где находится описание сайта (при условии, что сайт в каталоге присутствует).
php: получение тиц сайта
из предыдущего поста мы научились получать значение pr для конкретной страницы. теперь можно поговорить о том, как получить значение тиц сайта. напомню, что pr вычисляется индивидуально для каждой страницы, а тиц — значение для всего сайта.
скрипт для получения значения pr
все, кто сделал свой сайт и уже успел проникнуться таинственным словом seo (под которым чаще под понимают фразы «раскрутить сайт» или «заработать денег»), успели столкнуться с двумя, не побоюсь этого слова, основополагающими, пузомерками рунета: тиц и pr. и если тиц рассчитывается для сайта в целом, то pr вычисляется индивидуально для каждой страницы. так как же получить этот самый pr самому ...
переменная из php в javascript
«как в javascript вывести переменные php». уже в который раз вижу такого рода вопросы, поэтому посвящаю данной проблеме отдельную тему. сразу отвечаю: никак. равно как никак нельзя вывести переменные во флеш, сильверлайт, хтмл, цсс и прочему, что исполняется на клиенте.
mysql: выборка случайных записей из таблицы
иногда встаёт задача случайной выборки записей из таблицы базы данных. на помощь приходит, как правило, старое, но не рекомендуемое решение: SELECT * FROM `articles` ORDER BY RAND() LIMIT 3; данный запрос возвращает 3 случайных записи из таблицы `articles`. но если записей очень много и/или выборка достаточно сложная, формирование ответа может занимать секунды. ещё один минус — запрос не может быть ...
php: вопросы и ответы, часть 1
не каждую тему нужно раскрывать в максимальной степени подробно, особенно, если для этого в php есть готовая фукнция. как правило, методом «научного тыка» пользуются новички либо люди, пришедшие в php с какого-то другого языка программирования. далее идёт небольшая часть мини-вопросов, оформленная в виде faq`a.
как выучить php
несмотря на конкретное название статьи, получить знания в какой-либо области можно, фактически, одним способом: потратив ворох своего времени. в отличие от, допустим, игре на гитаре, именно процесс программирования может показаться колдунским. в первую очередь, проблемы вызывают неизменные ошибки, которые присутствуют у всех, независимо от опыта. после написания программы начинается процесс их поиска, называемый отладкой. именно тут и можно узнать, будет ...
обработка пользовательских переменных, sql-инъекция
в предыдущих статьях говорилось о php-инъекции и xss. здесь будет рассказано о не менее страшной уязвимости, называемой sql-инъекция, с помощью которой можно получить содержимое всех баз и таблиц, доступных текущему mysql-пользователю.
обработка пользовательских переменных, предотвращение xss
в предыдущей статье было рассказано о php-инъекции. теперь настала очередь разобраться с xss, с помощью которой, при определённых обстоятельствах, можно даже украсть и использовать куки администратора. а имея административный доступ с сайтом, как правило, можно сделать практически всё, что угодно.
обработка пользовательских переменных, предотвращение php-инъекций
многие слышали про такие вещи, как php-инъекция, sql-инъекция, xss, которые объединяет одно общее название — уязвимости. кто-то не только слышал, но даже сталкивался с этим. самое обидное, что это, как правило, недосмотр программиста. но в некоторых случаях уязвимость основана на принципе работы скрипта (точнее, работы не так, как того ожидалось разработчиком). что же делать, чтобы эти уязвимости не появлялись? далее ...
php: функции подключения скриптов
в php существует 4 инструкции, с помощью которых можно подключать скрипты: include, include_once, require, require_once. иногда можно встретить вопрос: что лучше. а некоторые решили для себя, что это всё одно и тоже, и пользуются тем, что больше нравится. между тем, инструкции несут разную смысловую нагрузку, а значит и использоваться должны в разных местах. давайте же разберёмся, наконец, в их отличиях ...
обработка нескольких форм в php
Написать простейшую форму с её последующей обработкой сможет, пожалуй, каждый. Но начинающие php-программисты (а иногда и более опытные) встают в тупик: а что делать, если форм на странице 2 и обрабатываются они одним и тем же скриптом? На самом деле, здесь нет ничего сложного. Достаточно знать один момент: как именно браузер отрабатывает эти ситуации.
разные кодировки в php
начинающим скриптописателям глубоко плевать на такое понятие, как кодировка. поэтому на сайтах иногда можно встретить жуткую кашу, когда данные из бд получаются в одной кодировке, страница формируется в другой, а сервером отдаётся третья. в результате страницу если и можно расшифровать, то минимум с 2 раз. итак, отчего же такая беда случается и как её побороть?
простая работа со временем/датами на php
чем хорош php для тех, кто его знает в разной степени — всегда можно решить требуемую задачу. иногда кода потребуется много, а иногда можно обойтись буквально несколькими строками. порой встречаются задачи вычисления даты через некий промежуток времени. при этом какая-то дата либо задаётся, либо отсчитывается от текущего момента.
новичкам: файлы против базы данных
почему-то люди, провозившиеся не один месяц с php, порой упорно не хотят вникнуть в синтаксис sql, предпочитая работать по старинке, с файлами. между тем, по мере роста базы, на сервер будет создаваться неоправданная нагрузка. использование субд может показаться ненужным и избыточным, однако сто́ит принять во внимание тот факт, что субд создаются и оптимизируются как раз для максимальной скорости работы с ...
новичкам: несколько простых приёмов для php
приступая к изучению чего-то нового, рано или поздно (если уроки происходят раз в месяц) сознание упирается в вещи, знакомые по предыдущему опыту. поэтому когда на форуме появляются элементарные вопросы (с точки зрения продвинутых пользователей), их авторы оказываются всесторонне осмеяны. самое безобидное, что можно услыашать, это предложение починить руки (а то вообще запишут в разряд школьников). да, по прошествие определённого времени ...
php: замечательные функции pack и unpack
сейчас уже не вспомнить, когда же я «вскрыл» свой первый файл. это сейчас хорошо: есть интернет, и всё зависит от степени заинтересованности (ну и немного от удачи, если формат закрытый). поначалу любое действие, касаемое компьютерных файлов, казалось сложным и каким-то колдунским. но однажды, когда мне «перепало» несколько исходников одного парня (звали его Денис и интернет у него был), мне попался ...
класс для работы с электронной почтой по протоколу pop3
простой класс для работы с электронной почтой по протоколу pop3. как всегда, вся рутина скрыта за методами. для диагностирования ошибки нужно лишь проверить возвращаемое значение на FALSE. после соединения с сервером и успешной авторизации доступна остальная функциональность. можно узнать количество сообщений и их размер; получить список всех сообщений (включая размеры); получить только заголовки, заголовки и несколько строк, или сообщение целиком. ...
новый php 5.3.6
вышел очередной релиз php. в принципе, ничего мега-нового разработчики не предоставили: пофиксили свыше 60 багов разной степени паршивости (включая стандартные уже переполнения стека), обновили библиотеки Sqlite3 (субд) и PCRE (регулярные выражения), и добавили/отладили несколько различных «косметических» опций (добавлена возможность соединения по https с сайтами через базовую аутентификацию с проксями; изменено значение serialize_precision со 100 на 17, отвечающее за сохрание чисел ...
php и perl, part 3
окончание мини-опусов № 1 и № 2, посвящённым трудностям освоения языка perl.
php и perl, part 2
это продолжение предыдущего мини-опуса, посвящённого трудностям освоения языка perl.
php и perl, part 1
отрицательного отношения к perl`у никогда не испытывал. как бы первый php был создан именно на нём, что уже говорит кое о чём. но само изучение постоянно откладывалось «на потом». в своё оправдание могу сказать словами из анекдота*: «не учил потому, что он мне был на фиг не нужен». но хорошему (или плохому, смотря с какой стороны посмотреть) приходит конец. неожиданно ...
Правильное окончание слова или числа и слова с учётом морфологии
Доброго времени суток, уважаемые. Если Вы программируете уже долгое время, наверняка встречались с задачей вывода правильного окончания слова с предшествующим ему числом. примером может служить хотя бы блог, точнее, показ количества комментариев. в простейшем случае это может выглядеть так: Комментариев — 1. а порой хочется так: 1 комментарий и так: 5 комментариев.
Новый скрипт: seoUtilities
Предлагаю для ознакомления небольшой набор утилит под названием seoUtilities. Обо всех ошибка просьба писать здесь либо на странице проекта. перейти
Работа с zip-архивами в php
Начиная с php версии 5.2, появилась замечательная фишка: работа с zip-архивами (ранее для этих целей использовались команды оболочки либо утилита pclzip.lib.php). Далее предлагается несколько простых примеров. Однако, если на то будет желание, познакомиться с этой особенностью поближе можно из манов, запросив информацию по классу ZipArchive.
php и md5 (sha1)
Как известно, наверное, многим, md5 представляет из себя «слепок», или, если угодно, «след» строки. на выходе это 16 байтная строка, в идеале уникальная, с одной стороны, для любых 16 байтных строк, а с другой — обеспечивающая существенный разброс значений при малейшем изменении строки-источника.
Ну когда же следующий php?
Как-то ожидание слишком сильно затягивается. Релиз php 5.3, обещанный ещё в том году, потом перенесённый на 1 квартал этого года, а затем и на конец первого полугодия, уже вызывает сомнения (несмотря на то, что RC3 был заявлен ещё аж 12 июня). Вполне может так выйти, что следующей «полноценной» сборкой будет RC4. И далее не факт, что релиз выйдет в первом ...