ホームページ  >  記事  >  バックエンド開発  >  リモート ファイル ダウンロード コード_PHP チュートリアル

リモート ファイル ダウンロード コード_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:58:471026ブラウズ

リモートファイルダウンロードコード ここでは、PHP を使用してリモート ファイルをローカルの指定されたディレクトリにダウンロードできる、リモート サーバー ファイルをダウンロードするためのコード クラスを提供します。

リモートファイルダウンロードコード
ここでは、リモート ファイルのダウンロード コードを提供します。PHP チュートリアルを使用して、リモート ファイルをローカルの指定されたディレクトリにダウンロードできます。以下は、リモート サーバー ファイルをダウンロードするためのコード クラスです。

クラスのダウンロード
{
var $url;//リモートファイルアドレス

var $file_name = "hdwiki.zip";//ダウンロードされたファイル名

var $save_path = "./www.bKjia.c0m";//ローカル ファイル パスにダウンロードします

var $localfile;//ダウンロードされたローカル ファイルのパスと名前

var $warning;//警告メッセージ

var $redown=0;//再ダウンロードするかどうか


/*初期化*/
関数seturl($url)
{
If(!empty($url))$this->url = $url;
}

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

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

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

関数ダウンロード($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);
}
}

/* URL の正当性をチェックする関数 */
関数 checkurl(){
return preg_match("/^(http|ftp)(://)([a-za-z0-9-_]+[./]+[w-_/]+.*)+$/i", $this->url);
}

//ファイルをローカルにダウンロードする

関数downloadfile()
{
//変数を検出します

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

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

$this->warning = "エラー: URL ". $this->url ." 違法です。";
return $this->warning;
}

if (file_exists($this->localfile)){
if($this->redown)
{
リンクを解除 ($ this-> ローカルファイル); }
その他
{
$this->warning = "警告: ファイルをアップグレードします。$this->localfile ." すでに存在します! 再ダウンロード ";
return $this->warning;
//exit("エラー: ローカル ファイル ". $this->localfile ." は既に存在します。削除するか名前を変更して、このプログラムを再実行してください。");

}

}

//リモートファイルを開く

$fp = fopen($this->url, "rb");

if (!$fp){
$this->warning = "エラー: リモート ファイル " を開けませんでした。"";
return $this->warning;
}

//ローカルファイルを開く

$sp = fopen($this->localfile, "wb");

もし (!$sp){
$this->warning = "エラー: ローカル ファイル ". $this->localfile を開くことができませんでした。";
$this->warning;
を返す }

//リモートファイルをダウンロードする

//echo "リモート ファイルをダウンロードしています。お待ちください";

しながら (!feof($fp)){

$tmpfile .= fread($fp, 1024);
//エコー strlen($tmpfile);

}

// ファイルをローカルに保存します

fwrite($sp, $tmpfile);

fclose($fp);
fclose($sp);

If($this->リダウン)
$this->warning = "成功: ファイルを再ダウンロードします。$this->file_name ." 成功";
その他
$this->warning = "成功: ファイル " をダウンロードします。$this->file_name ." 成功";
                                               $this->warning;
を返す }
}

http://www.bkjia.com/PHPjc/631992.html

本当http://www.bkjia.com/PHPjc/631992.html技術記事リモート ファイル ダウンロード コードは、PHP を使用してローカルの指定されたディレクトリにリモート ファイルをダウンロードできます...