php下载文件代码

Posted on Posted in php

有一台可以访问墙外的虚拟机,下载文件后,ftp到本地,虽然有点麻烦,可是能用

  1. <?php  
  2.   
  3. header("Content-type: text/html; charset=utf-8");           
  4. function getFile($url,$path) {  
  5.         $error='';  
  6.   
  7.         $fp = fopen ($path, 'w+');  
  8.         $ch = curl_init($url);  
  9.         curl_setopt($ch, CURLOPT_TIMEOUT, 0);  
  10.         curl_setopt($ch, CURLOPT_FILE, $fp);  
  11.         curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);  
  12.         if (isCertInfoAvailable()){  
  13.             curl_setopt($ch, CURLOPT_CERTINFO, TRUE);  
  14.         }  
  15.         curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);  
  16.         $data=curl_exec($ch);  
  17.         $curlError=curl_error($ch);  
  18.         curl_close($ch);  
  19.         fclose($fp);  
  20.   
  21.         if($data==false){  
  22.             $error.='fail download.<br />'.$curlError;  
  23.         }  
  24.         return($error.$curlError);  
  25.   
  26.     }  
  27. function isCertInfoAvailable() {  
  28.         $curlDetails =  curl_version();  
  29.         return version_compare($curlDetails['version'], '7.19.1') != -1;  
  30.     }  
  31. //getFile("http://openssh-lpk.googlecode.com/files/openssh-lpk_openldap.schema","openssh-lpk_openldap.schema");  
  32.   
  33. ?>  
  34. <?php if($_SERVER['REQUEST_METHOD'] == "GET"):?>  
  35. <html>  
  36. <head><title>墙外下载</title></head>  
  37. <body>  
  38. <form action="" method="post" autocomplete="on">  
  39. <table>  
  40. <tr><td>username: <input type="text" name="username"></td></tr>  
  41. <tr><td>password: <input type="password" name="password"></td></tr>  
  42. <tr><td>fileurl : <input type="url" name="fileurl"></td></tr>  
  43. <tr><td>filename: <input type="text" name="filename"></td></tr>  
  44. <tr><td><input type="submit" value="Download"></td></tr>  
  45. </table>  
  46. </form>  
  47. fileurl :文件的url <br />  
  48. filename:保存的文件名(当前路径)  
  49. </body>  
  50. </html>  
  51. <?php else:?>  
  52. <?php  
  53.     $nowdir = dirname(__FILE__);  
  54.     $username = $_POST['username'];  
  55.     $password = $_POST['password'];  
  56.  &
    nbsp;  if($username=="username" and $password=="password"){  
  57.         $downurl = $_POST['fileurl'];  
  58.         $downfile = $_POST['filename'];  
  59.         getFile($downurl,$downfile);  
  60.         Header('Location: http://'.$_SERVER['HTTP_HOST'].'/'.$downfile);  
  61.         exit;  
  62.     }else{  
  63.         echo "用户名或密码错误";  
  64.         exit;  
  65.     }  
  66. ?>  
  67. <? endif;?>  
» 转载请注明来源:若我若鱼 » php下载文件代码

Leave a Reply

Your email address will not be published. Required fields are marked *

19 − 8 =