本文共 1876 字,大约阅读时间需要 6 分钟。
代码很简单就不多废话了,直接奉上:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php echo httpcopy( "" ); 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; } } } ?> |
再来个远程下载文件到服务器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | < 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); } ?> |
以上所述就是本文的全部内容了,希望大家能够喜欢。