Ce poţi face cu PHP şi cURL


Dacă vă amintiţi, în 2009 am scris două articole în care foloseam PHP şi cURL: PHP: Cum luăm conţinut de pe web? şi respectiv Obţinerea scurtăturilor cu PHP. De-a lungul timpului am tot avut nevoie de cURL pentru diferite proiecte… şi cred că la fel oricine programează des cu PHP. Ei bine, acestui public i se adresează un articol apărut astăzi la “pisica ce scrie cod”: Amazing things to do with PHP and cURL. Unele aplicări sunt destul de banale, dar altele sunt neaşteptate. Dar hai să pun lista codurilor puse la dispoziţie de articol:

  • cum să verifici dacă un sit merge la un moment dat (adică să nu fie “picat”)
  • cum să foloseşti cURL acolo unde hostingul a tăiat file_get_contents() – hehe… unii taie tocmai cURL()
  • cum să preiei ultima postare de pe Twitter
  • cum să verifici dacă X îl urmăreşte pe Y (pe Twitter)
  • cum să descarci imaginile dintr-o anume pagină web
  • cum să converteşti valuta via Google
  • cum să afli dimensiunea unui fişier de pe web
  • cum să încarci via FTP cu cURL

Iată spre exemplificare ultimul cod, mai jos. Apropo: e inspirat din articolul Techniques for Mastering cURL, pe care îl recomand de asemenea cu căldură. Desigur, merită văzute şi celelalte referinţe din articolul de pe CatsWhoCode.

// open a file pointer
$file = fopen("/path/to/file", "r");

// the url contains most of the info needed
$url = "ftp://username:password@mydomain.com:21/path/to/new/file";

$ch = curl_init();

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

// upload related options
curl_setopt($ch, CURLOPT_UPLOAD, 1);
curl_setopt($ch, CURLOPT_INFILE, $fp);
curl_setopt($ch, CURLOPT_INFILESIZE, filesize("/path/to/file"));

// set for ASCII mode (e.g. text files)
curl_setopt($ch, CURLOPT_FTPASCII, 1);

$output = curl_exec($ch);
curl_close($ch);


Apreciază articolul:

1 stea2 stea3 stea4 stea5 stea (3 evaluări, media: 5,00 din 5)
Loading...Loading...

0 comentarii


Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile necesare sunt marcate *