ホームページ >バックエンド開発 >PHPチュートリアル >PHP_PHP チュートリアルの FTP アップロード ファイルとダウンロード ファイルのサンプル コード

PHP_PHP チュートリアルの FTP アップロード ファイルとダウンロード ファイルのサンプル コード

WBOY
WBOYオリジナル
2016-07-20 11:11:361021ブラウズ

PHP では、FTP を直接操作することもでき、PHP を使用して FTP と同じファイルのアップロードおよびダウンロード機能を実現します。以下に完全な例を紹介します。

t

c c c c c c c c c






















コードをコピー

& & lt;? /*著者: Bowman (lyc)
/*email: jar-c@163.com
/* time : 2011-04-22
*/

abstract class Lyc_Ftp_Abstract {
protected $ftpobj=null
protected $host= '';
保護された $user='anonymous';
保護された $pwd= '';
保護された $timeout=90;
保護された関数 init(){

}
/**
* FTP 接続を確立します
*
*/
保護された関数 connect(){
$this->ftpobj=@ftp_connect($this->host,$this->port 、$ this> Timeout); – * *
* ssl ftp 接続を確立します
*
*/
保護関数 connectSsl(){
$ftpobj=@ftp_ssl_connect($this->host,$this->port,$this->timeout);
if(null==) $ftpobj ; */
保護関数login(){

if(@ftp_login($this->ftpobj,$this->user,$this->pwd)){
ftp_pasv($this-> ftpobj,$ pasv);

}else{
require_once 'Lyc/Ftp/Exception.class.php'; /**
* ログイン認証FTPと設定モード
*
*/
パブリック関数アップロード($remotefile,$localfile){

}
/ **
* ファイルをアップロードします
*
*/
パブリック関数 download($localfile,$remotefile){

}
/* *
* ファイルをダウンロードします
*
*/
パブリック関数 close(){
?>





二、LycFtpFtp.class.php 实现类

代码如下 复制代码
/* author:凹凸曼( lyc)
/* メール: jar-c@163 .com
/* time : 2011-04-22
/*
*/
require_once 'Lyc/Ftp/Abstract.class.php';
class Lyc_Ftp_Ftp extends Lyc_Ftp_Abstract{

public function __construct($host,$user,$pwd,$mode=FTP_BINARY,$port=21,$timeout=90,$pasv=TRUE){
$this->host= $ホスト;
$this->user=$user;
$this->pwd=$pwd;
$this->mode=$mode;
$this->port=$port;
$this->timeout=$timeout;
$this->pasv=$pasv;
$this->init();

}
保護された関数 init(){

$this->connect();
$this->login();

}
/**
* ファイルをアップロードします
*
*/
public function Upload($remotefile,$localfile){

$res=ftp_nb_put($this->ftpobj,$remotefile,$localfile,$this->mode ,ftp_size($this->ftpobj,$remotefile));
while($res==FTP_MOREDATA){
$res=ftp_nb_ continue($this->ftpobj);
}
if($res!=FTP_FINISHED){
戻り値 FALSE;
}
TRUE を返します。
}
/**
* ファイルをダウンロードします
*
*/
public function download($localfile,$remotefile){
ftp_set_option($this->ftpobj,FTP_AUTOSEEK,FALSE);
$res=ftp_nb_get($this->ftpobj,$localfile,$remotefile,$this->mode,ftp_size($this->ftpobj,$localfile));
while($res==FTP_MOREDATA){
$res=ftp_nb_ continue($this->ftpobj);
}
if($res!=FTP_FINISHED){
FALSEを返す;
}
TRUE を返します。
}
}
?>


三、LycException.class.php 异常基类

代码如下 复制代
/* author:凹凸曼( lyc)
/* email: jar-c@163.com
/* time : 2011-04-22
/*

*/
class Lyc_Exception extends Exception{


?&g t;


4。 jar-c @163.com

/* time : 2011-04-22

*/

require_once 'Lyc/Exception.class.php'; class Lyc_Ftp_Exception extends Lyc_Exception{ ?>
}

5. テストエリア



コードは次のとおりです

コードをコピー


/**
* ファイルをアップロードします

* */ public function UploadTest(){ $ftp=new Lyc_Ftp_Ftp($ Host, $ ユーザー, $ pwd); IF (! $ res) Re "; }
require_once 'Lyc/Ftp /Ftp.class.php '; $ res = $ ftp-& gt; f: wwwroottestarealyCtesttest.rar");
}


public function doubledtest () {
require_once 'lyc/ftp/ftp.class.php'
$ host = 33.64 .41.135 '; ';
$ pwd = "" "" ;
$ res = $ ftp-& gt; ", "test.rar");
if (! $ Res ){
echo "ダウンロード失敗";



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

www.bkjia.com

tru​​e

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

技術記事

php では、ftp を直接操作して、ftp と同じファイルのアップロードおよびダウンロード機能を実現することもできます。以下に完全な例を紹介します。 1. LycFtp...





声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。