php curl的幾段小應用
php 的CURL是不錯的功能,下面收藏幾段不錯的片段
1 測試網站是否運行正常
2 可以代替file_gecontents的操作
function file_get_contents_curl($url) {$ch = curl_init();curl_setopt($ch, CURLOPT_HEADER, 0);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.curl_setopt($ch, CURLOPT_URL, $url);$data = curl_exec($ch);curl_close($ch);return $data;}
3 儲存某個網站下的所有圖片
function getImages($html) { $matches = array(); $regex = '~http://somedomain.com/images/(.*?)\.jpg~i'; preg_match_all($regex, $html, $matches); foreach ($matches[1] as $img) { saveImg($img); }}function saveImg($name) { $url = 'http://somedomain.com/images/'.$name.'.jpg'; $data = get_data($url); file_put_contents('photos/'.$name.'.jpg', $data);}$i = 1;$l = 101;while ($i < $l) { $html = get_data('http://somedomain.com/id/'.$i.'/'); getImages($html); $i += 1;}
4 FTP應用
// open a file pointer$file = fopen("/path/to/file", "r");// the url contains most of the info needed$url = "ftp://username:[email protected]:21/path/to/new/file";$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);// upload related optionscurl_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);