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

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

WBOY
Release: 2016-06-13 12:54:14
Original
837 people have browsed it

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 />
Copy after login


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

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

至于socket,真没那必要。你真想要用,开源代码有现在的。
Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template