リモートファイルダウンロードコード ここでは、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->checkurl()){
If($this->url == "" || $this->localfile == ""){
return $this->warning;
}
$this->warning = "エラー: URL ". $this->url ." 違法です。";
return $this->warning;
}if (file_exists($this->localfile)){
}
if($this->redown)
{
リンクを解除 ($ this-> ローカルファイル); }
その他
{
$this->warning = "警告: ファイルをアップグレードします。$this->localfile ." すでに存在します! 再ダウンロード a> ";
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
。