<?php
 function getFile($url, $save_dir = '', $filename = '', $type = 0) {
    if (trim($url) == '') {
        return false;
    }
    if (trim($save_dir) == '') {
        $save_dir = './';
    }
    if (0 !== strrpos($save_dir, '/')) {
        $save_dir.= '/';
    }
    //创建保存目录
    if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
        return false;
    }
    //获取远程文件所采用的方法
    if ($type) {
        $ch = curl_init();
        $timeout = 5;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
        $content = curl_exec($ch);
        curl_close($ch);
    } else {
        ob_start();
        readfile($url);
        $content = ob_get_contents();
        ob_end_clean();
    }
    $size = strlen($content);
    //文件大小
    $fp2 = @fopen($save_dir . $filename, 'a');
    fwrite($fp2, $content);
    fclose($fp2);
    unset($content, $url);
    return array(
        'file_name' => $filename,
        'save_path' => $save_dir . $filename
    );
 }
 //获得当前的脚本网址 
 // 说明：获取完整URL
     function curPageURL() 
 {
  $pageURL = 'http';
       if ($_SERVER["HTTPS"] == "on") 
  {
    $pageURL .= "s";
  }
  $pageURL .= "://";
       //$apath=$_SERVER["REQUEST_URI"];
  //$apath=dirname($apath);
        if ($_SERVER["SERVER_PORT"] != "80") 
  {
    $pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] ;
  } 
  else
  {
    $pageURL .= $_SERVER["SERVER_NAME"] ;
  }
  return $pageURL;
 }
 //$url = "http://www.baidu.com/img/baidu_jgylogo3.gif";
 $url = $_GET['url'];
 if (empty($url)) {
    $arr = array ('url'=>'empty');
    echo json_encode($arr);
    exit (); 
 }
 $save_dir = "downloads/";
 $extname= pathinfo($url,PATHINFO_EXTENSION); 
 if (empty($extname)) {
    $extname=".dat";
 }else
 {
  $extname=".".$extname;
 }

 $fname=md5($url);
 $n=strpos($url,"/seller_cms/");
 if($n>0){

    $n+=12;
    $fname2=substr($url,$n,strlen($url)-$n);
    $n=strpos($fname2,"/");
    if($n>0){
        $fname2=substr($fname2,0,$n);
    }
    if(strlen($fname2)==32){
        $fname=$fname2;
    }
 } 

 //echo $fname;

 $filename = $fname.$extname;
 $pathFile=curPageURL();
 $pathFile.="/cache/".$save_dir;
 $pathFile.=$filename;
 if (!file_exists ( $save_dir . $filename )) {
    $res = getFile($url, $save_dir, $filename, 1);
    //var_dump($res);
 }
 //检查文件是否存在    
 if (file_exists ( $save_dir . $filename )) {
    //  $arr = array ('url'=>$pathFile);
    // echo json_encode($arr);
        header('Location: '.$pathFile);
 exit;
 }  

 ?>