Heim > Backend-Entwicklung > PHP-Tutorial > php 获取远路文件 保存本地 一般用哪种方法

php 获取远路文件 保存本地 一般用哪种方法

WBOY
Freigeben: 2016-06-13 12:54:14
Original
821 Leute haben es durchsucht

php 获取远程文件 保存本地 一般用哪种方法
就是把本地远程的资源 下载到本地
知道的方法有  
fopen

file_get_contents

有 curl的 CURLOPT_FILE
$fp = fopen($local, "w");            
curl_setopt($cp, CURLOPT_FILE, $fp);


还有socket方法



哪种方法好些??????
就是能够让一些特殊情况下  也能把远程文件保存到本地

比如一个https的资源
$url = "https://raw.github.com/robgietema/obviel-bootstrap/18625b502c9a11a90eb18285a2d3cb22c499aa41/libs/jquery/1.8.3/jquery.js";
也能保存到本地
(这是个例子  应该还有其他的情况,只是我不知道举不出例子)


------解决方案--------------------
前两种搭配使用吧
频繁交互长链接可选socket
我怎么对php的socket没啥好感啊
一切以需求为准则

你这个https可这样来处理
<br />
	$url = "https://raw.github.com/robgietema/obviel-bootstrap/18625b502c9a11a90eb18285a2d3cb22c499aa41/libs/jquery/1.8.3/jquery.js";<br />
    $ch = curl_init();  <br />
    curl_setopt($ch, CURLOPT_URL, $url);  <br />
    curl_setopt($ch, CURLOPT_HEADER, false);  <br />
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  <br />
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);  <br />
    curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.1 Safari/537.11');  <br />
    $res = curl_exec($ch);  <br />
    $rescode = curl_getinfo($ch, CURLINFO_HTTP_CODE);   <br />
    curl_close($ch) ;  <br />
    <br />
	file_put_contents("test123.txt",$res);//write<br />
Nach dem Login kopieren


------解决方案--------------------
file_get_contents最方便,但在超时问题上和自身处理错误上有代研究,

curl强大无所不能。只不过需要外加扩展,有的服务器可能不支持,就影响了移植。

至于socket,真没那必要。你真想要用,开源代码有现在的。
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage