Home  >  Article  >  Backend Development  >  Remote file download code_PHP tutorial

Remote file download code_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 10:58:47995browse

Remote file download code Here we provide you with a remote file download code. We can use PHP to download remote files to a local specified directory. The following is a code class for downloading remote server files.

Remote file download code
Here we provide you with a remote file download code. We can use the PHP tutorial to download remote files to the local specified directory. The following is a code class for downloading remote server files.

class download
{
var $url;//Remote file address

var $file_name = "hdwiki.zip";//Downloaded file name

var $save_path = "./www.bKjia.c0m";//Download to local file path

var $localfile;//The path and name of the downloaded local file

var $warning;//Warning message

var $redown=0;//Whether to re-download


/*Initialization*/
Function seturl($url)
{
If(!empty($url))$this->url = $url;
}

function setfilename($file_name)
{
If(!empty($file_name))$this->file_name = $file_name;
}

function setsavepath($save_path)
{
If(!empty($save_path))$this->save_path = $save_path;
}

function setredown($redown)
{
If(!empty($redown))$this->redown = $redown;
}

function download($url, $redown = 0, $save_path = 0, $file_name = 0)
{
           $this->seturl($url);
           $this->setfilename($file_name);
           $this->setsavepath($save_path);
          $this->setredown($redown);
If(!file_exists($this->save_path))
           {
                 $dir = explode("/",$this->save_path);
              foreach($dir as $p)
                mkdir($p);
}
}

/* Check URL validity function */
Function checkurl(){
return preg_match("/^(http|ftp)(://)([a-za-z0-9-_]+[./]+[w-_/]+.*)+$/i", $this->url);
}

//Download the file locally

function downloadfile()
{
​​​​ //Detect variable

$this->localfile = $this->save_path."/".$this->file_name;
If($this->url == "" || $this->localfile == ""){
​​ ​ ​ ​ ​ ​​                return $this->warning;
}

if (!$this->checkurl()){

                  $this->warning = "error: url ". $this->url ." is illegal.";
                   return $this->warning;
            }

if (file_exists($this->localfile)){
If($this->redown)
                 {
                    unlink($this->localfile);
            }
           else
                 {
$this->warning = "warning: Upgrade file". $this->localfile ." Already exists! Redownload";
                    return $this->warning;
                          //exit("error: The local file ". $this->localfile ." already exists, please delete or rename it and re-run this program.");

         }
}

//Open remote file

$fp = fopen($this->url, "rb");
           if (!$fp){
                 $this->warning = "error: Failed to open remote file ".$this->url."";
               return $this->warning;
}

//Open local file

$sp = fopen($this->localfile, "wb");
If (!$sp){
             $this->warning = "error: Opening local file ". $this->localfile ." failed.";
           return $this->warning;
}

//Download remote files

//echo "Downloading remote files, please wait";

while (!feof($fp)){
$tmpfile .= fread($fp, 1024);
//echo strlen($tmpfile);

}
//Save the file locally

fwrite($sp, $tmpfile);
       fclose($fp);
​​ fclose($sp);
​  
If($this->redown)
                   $this->warning = "success: Re-download the file ". $this->file_name ." Success";
       else
                  $this->warning = "success: Download file ". $this->file_name ." Success";
                                                                      Return $this->warning;
}
}

http://www.bkjia.com/PHPjc/631992.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631992.htmlTechArticleRemote file download code Here is a remote file download code for you. We can download remote files using php Go to the local specified directory. Here is a download remote service...