国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php獲取遠程圖片的兩種 CURL方式和sockets方式獲取遠程圖片

2024-05-04 23:16:20
字體:
來源:轉載
供稿:網友
方式1:sockets

復制代碼 代碼如下:


$a = "http://vevb.com/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg";
$local = 'socket1.gif';
$aa = getImg($a,$local);
/*
*@ 完整的圖片地址
*@ 要存儲的文件名
*/
function getImg( $url = "", $filename = "" ) {
if(is_dir(basename($filename))) {
echo "The Dir was not exits";
Return false;
}
//去除URL連接上面可能的引號
$url = preg_replace( '/(?:^[/'"]+|[/'"http://]+$)/', '', $url );
if (!extension_loaded('sockets')) return false;
//獲取url各相關信息
preg_match( '/http:////([^///:]+(/:/d{1,5})?)(.*)/i', $url, $matches );
if (!$matches) return false;
$sock = socket_create( AF_INET, SOCK_STREAM, SOL_TCP );
if ( !@socket_connect( $sock, $matches[1], $matches[2] ? substr($matches[2], 1 ) : 80 ) ) {
return false;
}
//圖片的相對地址
$msg = 'GET ' . $matches[3] . " HTTP/1.1/r/n";
//主機名稱
$msg .= 'Host: ' . $matches[1] . "/r/n";
$msg .= 'Connection: Close' . "/r/n/r/n";
socket_write( $sock, $msg );
$bin = '';
while ( $tmp = socket_read( $sock, 10 ) ) {
$bin .= $tmp;
$tmp = '';
}
$bin = explode("/r/n/r/n", $bin);
$img = $bin[1];
$h = fopen( $filename, 'wb' );
$res = fwrite( $h, $img ) === false ? false : true;
@socket_close( $sock );
Return $res;
}


方式2:curl

復制代碼 代碼如下:


<?php
$url = "http://vevb.com/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg";
$filename = 'curl.gif';
//http://vevb.com
getImg($url, $filename);
/*
*@通過curl方式獲取制定的圖片到本地
*@ 完整的圖片地址
*@ 要存儲的文件名
*/
function getImg($url = "", $filename = "") {
if(is_dir(basename($filename))) {
echo "The Dir was not exits";
Return false;
}
//去除URL連接上面可能的引號
$url = preg_replace( '/(?:^[/'"]+|[/'"http://]+$)/', '', $url );
$hander = curl_init();
$fp = fopen($filename,'wb');
curl_setopt($hander,CURLOPT_URL,$url);
curl_setopt($hander,CURLOPT_FILE,$fp);
curl_setopt($hander,CURLOPT_HEADER,0);
curl_setopt($hander,CURLOPT_FOLLOWLOCATION,1);
//curl_setopt($hander,CURLOPT_RETURNTRANSFER,false);//以數據流的方式返回數據,當為false是直接顯示出來
curl_setopt($hander,CURLOPT_TIMEOUT,60);
/*$options = array(
CURLOPT_URL=> 'http://vevb.com/content/uploadfile/201106/thum-f3ccdd27d2000e3f9255a7e3e2c4880020110622095243.jpg',
CURLOPT_FILE => $fp,
CURLOPT_HEADER => 0,
CURLOPT_FOLLOWLOCATION => 1,
CURLOPT_TIMEOUT => 60
);
curl_setopt_array($hander, $options);
*/
curl_exec($hander);
curl_close($hander);
fclose($fp);
Return true;
}
?>

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 临江市| 塔城市| 鄂尔多斯市| 阿拉善右旗| 钟祥市| 沽源县| 渭源县| 桦川县| 湖口县| 时尚| 古田县| 清新县| 阳信县| 大洼县| 河间市| 重庆市| 民乐县| 银川市| 乌拉特前旗| 鄂伦春自治旗| 建宁县| 乐陵市| 东乌| 蓬莱市| 连平县| 西盟| 图们市| 霍林郭勒市| 邵东县| 连州市| 商丘市| 台中县| 通山县| 绩溪县| 文安县| 孝义市| 德安县| 龙游县| 信丰县| 临泉县| 临泉县|