PHP实现远程下载文件到本地

Radinka ·
更新时间:2024-09-21
· 673 次阅读

代码很简单就不多废话了,直接奉上:

<?php echo httpcopy("http://huoche.7234.cn/images/jb51/dxatphhedla.gif"); 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); 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)) { return $file; } else { return false; } } else { $opts = array( "http"=>array( "method"=>"GET", "header"=>"", "timeout"=>$timeout) ); $context = stream_context_create($opts); if(@copy($url, $file, $context)) { //$http_response_header return $file; } else { return false; } } } ?>

再来个远程下载文件到服务器

<form method="post"> <input name="url" size="50" /> <input name="submit" type="submit" /> </form> < ?php // maximum execution time in seconds set_time_limit (24 * 60 * 60); if (!isset($_POST['submit'])) die(); // folder to save downloaded files to. must end with slash $destination_folder = 'temp/'; $url = $_POST['url']; $newfname = $destination_folder . basename($url); $file = fopen ($url, "rb"); if ($file) { $newf = fopen ($newfname, "wb"); if ($newf) while(!feof($file)) { fwrite($newf, fread($file, 1024 * 8 ), 1024 * 8 ); } } if ($file) { fclose($file); } if ($newf) { fclose($newf); } ?>

以上所述就是本文的全部内容了,希望大家能够喜欢。

您可能感兴趣的文章:Laravel框架文件上传功能实现方法示例PHP move_uploaded_file() 函数(将上传的文件移动到新位置)tp5实现微信小程序多图片上传到服务器功能laravel excel 上传文件保存到本地服务器功能



远程下载 PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号