W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
CodeIgniter 的 FTP 類允許你傳輸文件至遠(yuǎn)程服務(wù)器,也可以對遠(yuǎn)程文件進(jìn)行移動、重命名或刪除操作。 FTP 類還提供了一個(gè) "鏡像" 功能,允許你將你本地的一個(gè)目錄通過 FTP 整個(gè)的同步到遠(yuǎn)程服務(wù)器上。
注解
只支持標(biāo)準(zhǔn)的 FTP 協(xié)議,不支持 SFTP 和 SSL FTP 。
正如 CodeIgniter 中的其他類一樣,在你的控制器中使用 $this->load->library() 方法來初始化 FTP 類:
$this->load->library('ftp');
初始化之后,F(xiàn)TP 類的對象就可以這樣訪問:
$this->ftp
在這個(gè)例子中,首先建立一個(gè)到 FTP 服務(wù)器的連接,接著讀取一個(gè)本地文件然后以 ASCII 模式上傳到服務(wù)器上。文件的權(quán)限被設(shè)置為 755 。
$this->load->library('ftp');
$config['hostname'] = 'ftp.example.com';
$config['username'] = 'your-username';
$config['password'] = 'your-password';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$this->ftp->upload('/local/path/to/myfile.html', '/public_html/myfile.html', 'ascii', 0775);
$this->ftp->close();
下面的例子從 FTP 服務(wù)器上獲取文件列表。
$this->load->library('ftp');
$config['hostname'] = 'ftp.example.com';
$config['username'] = 'your-username';
$config['password'] = 'your-password';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$list = $this->ftp->list_files('/public_html/');
print_r($list);
$this->ftp->close();
下面的例子在 FTP 服務(wù)器上創(chuàng)建了一個(gè)本地目錄的鏡像。
$this->load->library('ftp');
$config['hostname'] = 'ftp.example.com';
$config['username'] = 'your-username';
$config['password'] = 'your-password';
$config['debug'] = TRUE;
$this->ftp->connect($config);
$this->ftp->mirror('/path/to/myfolder/', '/public_html/myfolder/');
$this->ftp->close();
classCI_FTP
connect([$config = array()])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
連接并登錄到 FTP 服務(wù)器,通過向函數(shù)傳遞一個(gè)數(shù)組來設(shè)置連接參數(shù),或者你可以把這些參數(shù)保存在一個(gè)配置文件中。
下面例子演示了如何手動設(shè)置參數(shù):
$this->load->library('ftp');
$config['hostname'] = 'ftp.example.com';
$config['username'] = 'your-username';
$config['password'] = 'your-password';
$config['port'] = 21;
$config['passive'] = FALSE;
$config['debug'] = TRUE;
$this->ftp->connect($config);
在配置文件中設(shè)置 FTP 參數(shù)
如果你喜歡,你可以把 FTP 參數(shù)保存在一個(gè)配置文件中,只需創(chuàng)建一個(gè)名為 ftp.php 的文件, 然后把 $config 數(shù)組添加到該文件中,然后將文件保存到 application/config/ftp.php , 它就會自動被讀取。
可用的連接選項(xiàng)
選項(xiàng)名稱 | 默認(rèn)值 | 描述 |
---|---|---|
hostname | n/a | FTP 主機(jī)名(通常類似于這樣:ftp.example.com) |
username | n/a | FTP 用戶名 |
password | n/a | FTP 密碼 |
port | 21 | FTP 服務(wù)端口 |
debug | FALSE | TRUE/FALSE (boolean): 是否開啟調(diào)試模式,顯示錯(cuò)誤信息 |
passive | TRUE | TRUE/FALSE (boolean): 是否使用被動模式 |
upload($locpath, $rempath[, $mode = 'auto'[, $permissions = NULL]])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
將一個(gè)文件上傳到你的服務(wù)器上。必須指定本地路徑和遠(yuǎn)程路徑這兩個(gè)參數(shù),而傳輸模式和權(quán)限設(shè)置這兩個(gè)參數(shù)則是可選的。例如:
$this->ftp->upload('/local/path/to/myfile.html', '/public_html/myfile.html', 'ascii', 0775);
如果使用了 auto 模式,將根據(jù)源文件的擴(kuò)展名來自動選擇傳輸模式。
設(shè)置權(quán)限必須使用一個(gè) 八進(jìn)制 的權(quán)限值。
download($rempath, $locpath[, $mode = 'auto'])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
從你的服務(wù)器下載一個(gè)文件。必須指定遠(yuǎn)程路徑和本地路徑,傳輸模式是可選的。例如:
$this->ftp->download('/public_html/myfile.html', '/local/path/to/myfile.html', 'ascii');
如果使用了 auto 模式,將根據(jù)源文件的擴(kuò)展名來自動選擇傳輸模式。
如果下載失?。ò?PHP 沒有寫入本地文件的權(quán)限)函數(shù)將返回 FALSE 。
rename($old_file, $new_file[, $move = FALSE])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
允許你重命名一個(gè)文件。需要指定原文件的文件路徑和名稱,以及新的文件路徑和名稱。
// Renames green.html to blue.html
$this->ftp->rename('/public_html/foo/green.html', '/public_html/foo/blue.html');
move($old_file, $new_file)
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
允許你移動一個(gè)文件。需要指定原路徑和目的路徑:
// Moves blog.html from "joe" to "fred"
$this->ftp->move('/public_html/joe/blog.html', '/public_html/fred/blog.html');
注解
如果目的文件名和原文件名不同,文件將會被重命名。
delete_file($filepath)
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
用于刪除一個(gè)文件。需要提供原文件的路徑。
$this->ftp->delete_file('/public_html/joe/blog.html');
delete_dir($filepath)
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
用于刪除一個(gè)目錄以及該目錄下的所有文件。需要提供目錄的路徑(以斜線結(jié)尾)。
重要
使用該方法要非常小心! 它會遞歸的刪除目錄下的所有內(nèi)容,包括子目錄和所有文件。請確保你提供的路徑是正確的。 你可以先使用list_files() 方法來驗(yàn)證下路徑是否正確。
$this->ftp->delete_dir('/public_html/path/to/folder/');
list_files([$path = '.'])
參數(shù):
返回: An array list of files or FALSE on failure
返回類型: array
用于獲取服務(wù)器上某個(gè)目錄的文件列表,你需要指定目錄路徑。
$list = $this->ftp->list_files('/public_html/');
print_r($list);
mirror($locpath, $rempath)
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
遞歸的讀取文本的一個(gè)目錄和它下面的所有內(nèi)容(包括子目錄),然后通過 FTP 在遠(yuǎn)程服務(wù)器上創(chuàng)建一個(gè)鏡像。 無論原文件的路徑和目錄結(jié)構(gòu)是什么樣的,都會在遠(yuǎn)程服務(wù)器上一模一樣的重建。你需要指定一個(gè)原路徑和目的路徑:
$this->ftp->mirror('/path/to/myfolder/', '/public_html/myfolder/');
mkdir($path[, $permissions = NULL])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
用于在服務(wù)器上創(chuàng)建一個(gè)目錄。需要指定目錄的路徑并以斜線結(jié)尾。
還可以通過第二個(gè)參數(shù)傳遞一個(gè) 八進(jìn)制的值 設(shè)置權(quán)限。
// Creates a folder named "bar"
$this->ftp->mkdir('/public_html/foo/bar/', 0755);
chmod($path, $perm)
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
用于設(shè)置文件權(quán)限。需要指定你想修改權(quán)限的文件或目錄的路徑:
// Chmod "bar" to 755
$this->ftp->chmod('/public_html/foo/bar/', 0755);
changedir($path[, $suppress_debug = FALSE])
參數(shù):
返回: TRUE on success, FALSE on failure
返回類型: bool
用于修改當(dāng)前工作目錄到指定路徑。
如果你希望使用這個(gè)方法作為 is_dir() 的一個(gè)替代,$suppress_debug 參數(shù)將很有用。
close()
返回: TRUE on success, FALSE on failure
返回類型: bool
斷開和服務(wù)器的連接。當(dāng)你上傳完畢時(shí),建議使用這個(gè)函數(shù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: