• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-24) 18次浏览 已收录 0个评论

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/18625b502c9a11a90@本文来源gaodaimacom搞#代%码@网-搞代gaodaima码eb18285a2d3cb22c499aa41/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 />

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

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

至于socket,真没那必要。你真想要用,开源代码有现在的。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 获取远路文件 保存本地 一般用哪种方法

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址