php实现异步将远程链接上内容(图片或内容)写到本地的方法


Posted in PHP onNovember 30, 2016

本文实例讲述了php实现异步将远程链接上内容(图片或内容)写到本地的方法。分享给大家供大家参考,具体如下:

/**
 * 异步将远程链接上的内容(图片或内容)写到本地
 *
 * @param unknown $url
 *      远程地址
 * @param unknown $saveName
 *      保存在服务器上的文件名
 * @param unknown $path
 *      保存路径
 * @return boolean
 */
function put_file_from_url_content($url, $saveName = 'tmp.png', $path = './Uploads/Tmp/') {
  // 设置运行时间为无限制
  set_time_limit ( 0 );
  $url = trim ( $url );
  $curl = curl_init ();
  // 设置你需要抓取的URL
  curl_setopt ( $curl, CURLOPT_URL, $url );
  // 设置header
  curl_setopt ( $curl, CURLOPT_HEADER, 0 );
  // 设置cURL 参数,要求结果保存到字符串中还是输出到屏幕上。
  curl_setopt ( $curl, CURLOPT_RETURNTRANSFER, 1 );
  // 运行cURL,请求网页
  $file = curl_exec ( $curl );
  // 关闭URL请求
  curl_close ( $curl );
  // 将文件写入获得的数据
  $filename = $path . $saveName;
  $write = @fopen ( $filename, "w" );
  if ($write == false) {
    return false;
  }
  if (fwrite ( $write, $file ) == false) {
    return false;
  }
  if (fclose ( $write ) == false) {
    return false;
  }
  return $filename;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP+MYSQL的文章管理系统(一)
Oct 09 PHP
PHP下通过系统信号量加锁方式获取递增序列ID
Sep 25 PHP
过滤掉PHP数组中的重复值的实现代码
Jul 17 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
Jun 28 PHP
PHP获取windows登录用户名的方法
Jun 24 PHP
Laravel 5 框架入门(一)
Apr 09 PHP
Zend Framework教程之Zend_Db_Table_Row用法实例分析
Mar 21 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
Sep 15 PHP
PHP实现唤起微信支付功能
Feb 18 PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 #PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 #PHP
PHP获取指定日期是星期几的实现方法
Nov 30 #PHP
php根据年月获取当月天数及日期数组的方法
Nov 30 #PHP
详解PHP处理密码的几种方式
Nov 30 #PHP
php+js实现百度地图多点标注的方法
Nov 30 #PHP
php 运算符与表达式详细介绍
Nov 30 #PHP
You might like
基于php split()函数的用法详解
2013/06/05 PHP
php堆排序(heapsort)练习
2013/11/13 PHP
Yii实现多数据库主从读写分离的方法
2014/12/29 PHP
PHP网站开发中常用的8个小技巧
2015/02/13 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
Yii框架扩展CGridView增加导出CSV功能的方法
2017/05/24 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
2011/03/12 Javascript
向当前style sheet中插入一个新的style实现方法
2013/04/01 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
解析JavaScript面向对象概念中的Object类型与作用域
2016/05/10 Javascript
深入理解ES6的迭代器与生成器
2017/08/19 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
jquery中有哪些api jQuery主要API
2017/11/20 jQuery
JavaScript引用类型RegExp基本用法详解
2018/08/09 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
jQuery实现可编辑的表格
2019/12/11 jQuery
记一次react前端项目打包优化的方法
2020/03/30 Javascript
CentOS 8.2服务器上安装最新版Node.js的方法
2020/12/16 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python读取MRI并显示为灰度图像实例代码
2018/01/03 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python tkinter组件使用详解
2019/09/16 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
Python2及Python3如何实现兼容切换
2020/09/01 Python
高校毕业生自我鉴定
2013/10/27 职场文书
高三历史教学反思
2014/01/09 职场文书
人民调解员培训方案
2014/06/05 职场文书
2015年加油站工作总结
2015/05/13 职场文书
宪法宣传标语100条
2019/10/15 职场文书
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL