Полезни примери за използване на cURL с PHP

примери

Проверяваме наличността на уебсайта, от който се нуждаем

Искате ли да знаете дали уебсайтът, който искате, е достъпен? cURL може да ви помогне с това. Този скрипт може да се използва за наблюдение на вашите уебсайтове.

Не забравяйте да промените URL адреса на уебсайта на този, който искате да проверите на ред 3. След това просто стартирайте този скрипт и той ще ви уведоми дали сайтът е достъпен.

Замяна на CURL за file_get_contents ()

Функцията file_get_contents () е много полезна, но за съжаление е деактивирана по подразбиране на някои хостове. Използвайки cURL, можем да напишем подобна функция, която работи точно по същия начин като file_get_contents ().

функция file_get_contents_curl ($ url) <
$ ch = curl_init ();

curl_setopt ($ ch, CURLOPT_HEADER, 0);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1); // така че cURL ще връща данни, а не извежда в браузъра.
curl_setopt ($ ch, CURLOPT_URL, $ url);

Получаване на най-новия статус в Twitter

Използването на PHP с cURL е доста лесно да се получи статус на конкретен потребител в Twitter. Тази информация може да се показва например във вашия блог.

Тази функция е много лесна за използване:

Twitter: тестване на приятелство между двама потребители

Ако искате да знаете дали определен потребител чете вашите туитове, можете да използвате Twitter API. Този скрипт ще изведе вярно, ако двамата потребители, изброени на редове 18 и 19, са абонирани за туитовете на другия. В противен случай ще се върне невярно.

функция make_request ($ url) <
$ ch = curl_init ();
curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);
$ резултат = curl_exec ($ ch);
curl_close ($ ch);
върнете $ резултат;
>

/ * вземете мач */
функция get_match ($ регулярно изражение, $ съдържание) <
preg_match ($ регулярно изражение, $ съдържание, $ съвпадения);
връщане на $ съвпадения [1];
>

/ * лица за теста */
$ person1 = 'phpsnippets';
$ person2 = 'catswhocode';

/ * изпратете заявка до twitter */
$ url = 'https://api.twitter.com/1/friendships/exist';
$ format = 'xml';

/ * проверете */
$ persons12 = make_request ($ url. '.'. $ format. '? user_a ='. $ person1. '&user_b = '. $ person2);
$ резултат = get_match ('/ (. *)/isU', $ persons12);
echo $ резултат; // връща "true" или "false"

Зареждане и запазване на изображения от страница с помощта на cURL

Тези функции могат да бъдат много полезни: предайте URL адреса на уеб страница на скрипта и той ще запази всички изображения от тази страница на сървъра.

i ';
preg_match_all ($ регулярно изражение, $ html, $ съвпадения);
foreach ($ съвпада [1] като $ img) <
saveImg ($ img);
>
>

функция saveImg ($ name) <
$ url = 'http://somedomain.com/images/'. $ име. '.jpg';
$ данни = get_data ($ url);
file_put_contents ('снимки /'. $ име. '.jpg', $ данни);
>

curl_setopt ($ ch, CURLOPT_URL, $ url);
curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, 1);

// задаване на опции
curl_setopt ($ ch, CURLOPT_UPLOAD, 1);
curl_setopt ($ ch, CURLOPT_INFILE, $ fp);
curl_setopt ($ ch, CURLOPT_INFILESIZE, размер на файла ("/ път/към/файл"));

// Задаване на ASCII режим (т.е. текстов файл)
curl_setopt ($ ch, CURLOPT_FTPASCII, 1);

Надявам се тези примери да са ви полезни.