- Информация о материале
- Категория: PHP
- Просмотров: 18560
cURL это PHP расширение библиотеки libcURL, инструмент при помощи которого Вы можете симулировать веб браузер. К примеру это может быть отправка формы для авторизации на сайте и получения результирующей страницы. В этой статье я собираюсь показать вам 10 невероятных вещей, которые Вы можете сделать с помощью PHP и CURL.
Обратите внимание, что некоторые из методов, показанные здесь, могут быть использованы для методов "черной" оптимизации а также для парсинга сайтов и кражи информации. Целью данной статьи является только ознакомление, пожалуйста, не используйте любой из фрагментов ниже в незаконных целях.
1 - Обновление своего фейсбук статуса
Хотите автоматически обновлять facebook статус, но не хотите заходить на facebook.com, вводить каждый раз логин и пароль, и, делать это со страниц своего сайта? Просто сохраните следующий код на вашем сервере, определить переменные, и вуаля!
<?PHP /******************************* * Facebook Status Updater * Christian Flickinger * http://nexdot.net/blog * April 20, 2007 *******************************/ $status = 'Новый статус'; $first_name = 'YOUR_FIRST_NAME'; $login_email = 'YOUR_LOGIN_EMAIL'; $login_pass = 'YOUR_PASSWORD'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://login.facebook.com/login.php?m&next=http%3A%2F%2Fm.facebook.com%2Fhome.php'); curl_setopt($ch, CURLOPT_POSTFIELDS,'email='.urlencode($login_email).'&pass='.urlencode($login_pass).'&login=Login'); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_COOKIEJAR, "my_cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "my_cookies.txt"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3"); curl_exec($ch); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php'); $page = curl_exec($ch); curl_setopt($ch, CURLOPT_POST, 1); preg_match('/name="post_form_id" value="(.*)" \/>'.ucfirst($first_name).'/', $page, $form_id); curl_setopt($ch, CURLOPT_POSTFIELDS,'post_form_id='.$form_id[1].'&status='.urlencode($status).'&update=Update'); curl_setopt($ch, CURLOPT_URL, 'http://m.facebook.com/home.php'); curl_exec($ch); ?>
Дальше интереснее
- Информация о материале
- Категория: PHP
- Просмотров: 8808
Продолжая тему работы сайтов на нескольких поддоменах. К примеру если у Вашего сайта информация распределена так, что часть лежит на одном субдоменее другая на другом. К примеру доска объявлений, каждый город находится на своем поддомене третьего уровня. Это все очень удобное разделение. Но есть один минус. В таких сайтах нельзя применять ajax запрос на другой домен. Если домен влияет лишь на название, и определение категории, а вся логика одна на все поддомены, то все в порядке. Но если Вы к примеру объединили две разные доски, на разных городах, то общение между ними ajax'ом может стать проблемой.
- Информация о материале
- Категория: PHP
- Просмотров: 5613
Как получить кросс субдоменные cookies. Вы используете куки на вашем сайте, но когда посетитель приходит на www.sitename.ru и sitename.ru то cookies будут разные для обоих! Это потому, что, в сущности, www это просто поддомен. Обычно это делается так
setcookie('CookieName', 'Values', time() + 3600, '/');
Но для кроссдоменных кук нужно дописать в самом конце вызова .mydomain.ru, точка впереди
setcookie('CookieName', 'Some Values', time() + 3600, '/', '.mydomain.ru');
Тогда куки будут доступны на всех поддоменах Вашего домена, в том числе и www
- Информация о материале
- Категория: PHP
- Просмотров: 13688
При работе автоматических парсеров, возникает естественная необходимость подобрать к тексту его ключевые слова. Это необходимо для поисковой оптимизации статьи.
К примеру мы спарсили объявление с доски, в нем продается Apple Iphone 4s, подержанный. Небольшой текст описания с характеристиками и цена.
Из этого текста необходимо выделить ключевые слова. Заполнять их при автоматическом парсинге будет накладно. Поэтому нужно использовать скрипты для выборки ключевых слов.
Для начала, нужно составить список всех слов употребляемых в тексте, с сортировкой по частоте их употребления. Откинув короткие слова (меньше 5-ти знаков) и различные вспомогательные части речи, типа местоимений и наречий.
- Информация о материале
- Категория: PHP
- Просмотров: 14613
Представляю Вашему вниманию класс для пакетной обработки файлов jimage. Класс позволяет делать тумбики изображений, создавать коллаж из десятка картинок, и применять различные gd эффекты к изображениям. А также комбинировать все эти действия.
Класс написан мной для конкретного проекта, и с тех пор успешно применяется во других. Исходный код на гитхабе.
Покажу, как использовать на примере создания тумбиков или если говорить научным языком маленьких копий изображений.
<?php define('ROOT',dirname(__FILE__)); // для работы скрипта должна быть объявлена // эта константа содержащая корень сайта include "class.jimage.php"; $ji = new jimage(); $ji->thumb(ROOT.'/img/1.png',ROOT.'/img/mini_1.png',100);
элементарно и просто. У метода есть ряд настроек, первой идет путь до изображения. Второй путь до итогового тумбика, 3 и 4 это размеры по ширине и высоте соответственно, 5 - ый параметр это флаг, который может иметь несколько значений
USE_HOWSET или '' - и ширина и высота должны быть заданы, размер итогового тумбика задается строго, изображение обычно искажается
USE_WIDTH или 'w' - задается только ширина итогового тумбика, высота считается пропорционально по заданному изображению
USE_HEIGHT или 'h' - тоже только по высоте
USE_AUTO или 'a' - по умолчанию, задаем и высоту и ширину, если входящее изображение вертикальное то размеры тумбика расчитываются так, чтобы все изображение влезло в заданные пределы.
Поясню все варианты на примерах, возьмем за основу изображение красавицы Хайден Панеттьери