1. 涓轟粈涔堟垜php鐢╤eader涓嬭澆鍥劇墖錛屾墦寮鏄絀虹殑錛屾垜鐪嬪埌浣犺В鍐充簡錛屾眰甯鍔
functioncurlDownloadRemote($remote,$local){
$curl=curl_init($remote);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
$imageData=curl_exec($curl);
curl_close($curl);
$dir=dirname($local);
if(!is_dir($dir)){
@mkdir($dir,0755,true);
}
$tp=@fopen($local,'w');
fwrite($tp,$imageData);
fclose($tp);
}
2. curl是什麼意思
cURL是一個利用URL語法在命令行下工作的文件傳輸工具,1997年首次發行。
它支持文件上傳和下載,所以是綜合傳輸工具,但按傳統,習慣稱cURL為下載工具。
cURL支持的通信協御鋒櫻議有FTP、FTPS、HTTP、HTTPS、TFTP、SFTP、Gopher、SCP、Telnet、DICT、FILE、LDAP、LDAPS、IMAP、POP3、SMTP和RTSP。
(2)phpcurl下載文件擴展閱讀:
一、PHP cURL 函數
PHP支持的由Daniel Stenberg創建的libcurl庫允許你與各種的伺服器使用各種類型的協議進行連接和通訊。libcurl支持http、https、ftp、gopher、telnet、dict、file和ldap協議。
libcurl同時也支持HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴展完成)、HTTP 基於表單的上傳、代理、cookies和用戶名+密碼的認證。
二、表單提交
通過Form表單,可以將Web頁面的鎮叢表單數據提交到服務端。提交表單時,可以使用GET或POST提交方法。curl同樣支持表單數據提交,也可以使用GET或基胡POST提交方法。
1、GET數據提交
當全用GET表單數據提交時,提交數據會被附加到請求URL的後面。類型如下:
$ curl '//itbilu.com/?keyword=linux&page=3'
使用curl進行GET數據提交時,也可以直接把提交數據添加到URL後面:
curl https://itbilu.com/?keyword=linux&page=3
2、POST數據提交
curl使用POST提交表單數據時,除了-X參數指定請求方法外,還要使用--data參數添加提交數據:
$ curl -X POST --data 'keyword=linux' itbilu.com
3. php curl get 下載遠程zip文件保存在本地例子
<?php
if($_POST['submit']){
$url=$_POST['url']; //取得提交過來的地址http://hu60.cn/wap/0wap/addown.php/fetion_sms.zip
$url=urldecode($url);
$fname=basename("$url"); //返迴路徑中的文件名部分 fetion_sms.zip
$str_name=pathinfo($fname); //以數組的形式返迴文件路徑的信息
$extname=strtolower($str_name['extension']); //把擴展名轉換成小寫
//$uptypes=explode(",",$forum_upload); //取得可以上傳的文件格式
//$size=getFileSize($url);
$time=date("Ymd",time());
$upload_dir="./upload/";//上傳的路徑
$file_name=$time.rand(1000,9999).'.'.$fname;
$dir=$upload_dir.$file_name;//創建上傳目錄
//判斷目錄是否存在 不存在則創建
if(!file_exists($upload_dir)){
mkdir($upload_dir,0777,true);
}
$contents=curl_download($url,$dir);
if($contents){
echo "下載成功";
}else{
echo "下載失敗";
}
}
function curl_download($url, $dir) {
$ch = curl_init($url);
$fp = fopen($dir, "wb");
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
$res=curl_exec($ch);
curl_close($ch);
fclose($fp);
return $res;
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>遠程下載文件</title>
<form name="upform" method="post" action="" enctype='multipart/form-data'>
<input name='url' type='text' size='20'/>
<input type='submit' name='submit' value='遠程下載'/>
</form>
</body>
</html>
4. 網站下載 php網頁下載
/*
*功能:php多種方式完美實現下載遠程圖片保存到本地
*參數:文件url,保存文件名稱,使用的下載方式
*當保存文件名稱為空時則使用遠程文件原來的名稱
*/
functiongetImage($url,$filename='',$type=0){
if($url==''){returnfalse;}
if($filename==''){
$ext=strrchr($url,'.');
if($ext!='.gif'&&$ext!='.jpg'){returnfalse;}
$filename=time().$ext;
}
//文件保存路徑
if($type){
$ch=curl_init();
$timeout=5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$img=curl_exec($ch);
curl_close($ch);
}else{
ob_start();
readfile($url);
$img=ob_get_contents();
ob_end_clean();
}
$size=strlen($img);
//文件大小
$fp2=@fopen($filename,'a');
fwrite($fp2,$img);
fclose($fp2);
return$filename;
}