PHP CURL实现远程下载文件到本地_PHP教程
程序员文章站
2024-01-14 16:08:46
...
PHP CURL实现远程下载文件到本地
PHP CURL实现远程下载文件到本地,该函数返回结果包括下载耗用的时间,保存的文件名,以及使用的下载方式。写的比较粗糙,如果大家有好的建议及改进方案,欢迎留言给我哦!
具体代码如下:
';print_r($result); function httpcopy($url,$file='',$timeout=60){ $file=empty($file)?pathinfo($url,PATHINFO_BASENAME):$file; $dir=pathinfo($file,PATHINFO_DIRNAME); !is_dir($dir)&&@mkdir($dir,0755,true); $url=str_replace(' ',"%20",$url); $result=array('fileName'=>'','way'=>'','size'=>0,'spendTime'=>0); $startTime=explode(' ',microtime()); $startTime=(float)$startTime[0]+(float)$startTime[1]; if(function_exists('curl_init')){ $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_TIMEOUT,$timeout); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); $temp=curl_exec($ch); if(@file_put_contents($file,$temp)&&!curl_error($ch)){ $result['fileName']=$file; $result['way']='curl'; $result['size']=sprintf('%.3f',strlen($temp)/1024); } }else{ $opts=array( 'http'=>array( 'method'=>'GET', 'header'=>'', 'timeout'=>$timeout ) ); $context=stream_context_create($opts); if(@copy($url,$file,$context)){ $result['fileName']=$file; $result['way']='copy'; $result['size']=sprintf('%.3f',strlen($context)/1024); } } $endTime=explode(' ',microtime()); $endTime=(float)$endTime[0]+(float)$endTime[1]; $result['spendTime']=round($endTime-$startTime)*1000;//单位:毫秒 return $result; }
您可能感兴趣的文章
- php获取远程图片并下载保存到本地
- PHP 利用 Curl Functions 实现多线程抓取网页和下载文件
- php判断远程文件是否存在的办法
- php获取远程文件的大小
- php读取目录并列表显示目录中的文件的函数
- php清空(删除)指定目录下的文件,不删除目录文件夹的方法
- php获取目录所有文件并将结果保存到数组的程序
- 利用SecureCRT上传、下载文件(使用sz与rz命令)
上一篇: ASM相关视图
推荐阅读
-
PHP CURL实现远程下载文件到本地_PHP教程
-
php实现文件上传与下载(上)_PHP教程
-
PHP实现文件下载,_PHP教程
-
php 下载保存文件保存到本地的两种实现方法_PHP
-
PHP通过正则表达式下载图片到本地的实现代码
-
php header函数下载文件实现代码_PHP教程
-
[PHP]利用XAMPP搭建本地服务器, 然后利用iOS客户端上传数据到本地服务器中(三. PHP端代码实现),xamppios_PHP教程
-
php中使用gd库实现远程图片下载实例,_PHP教程
-
PHP使用外部命令导出数据库,备份到服务器并下载到本地,php外部命令_PHP教程
-
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码_PHP