PHP FTP上傳檔案

2021-06-06 22:34:19 字數 4324 閱讀 7902

第一步:建立乙個新的 ftp 連線。

ftp_connect(host,port,timeout);

host必需,規定要連線的 ftp 伺服器,可以是網域名稱或 ip 位址,後面不應以斜線結尾,前面也不需要用 ftp:// 開頭。

port可選,規定 ftp 伺服器的埠。

timeout可選,規定該 ftp 伺服器的超時時間,預設是 90 秒。

返回值:若成功,則返回乙個連線標識,否則返回 false。

第二步:登陸ftp。

ftp_login(ftp_connection,username,password);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

username必需,規定用於登入的使用者名稱。

password必需,規定用於登入的密碼。

返回值:若成功則返回 true,失敗則返回 false 並發出乙個警告。

第三步:改變 ftp 伺服器上的當前目錄或在 ftp 伺服器上建立新目錄。

(1)改變 ftp 伺服器上的當前目錄。

ftp_chdir(ftp_connection,directory);

tp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

directory必需,規定要切換到的目錄。

返回值:若成功,則返回 true,否則返回 false,如果切換目錄失敗,php 還會發出一條警告。

(2)在 ftp 伺服器上建立新目錄。

ftp_mkdir(ftp_connection,dir);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

dir必需,規定要建立的目錄的名稱。

返回值:若成功,則返回 true,否則返回 false。

第四步:檢視ftp當前目錄。

ftp_pwd(ftp_connection);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

返回值:返回ftp的當前目錄。

第五步:把檔案上傳到伺服器。

ftp_put(ftp_connection,remote,local,mode,resume);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

remote必需,上傳到伺服器上的檔名。

local,必需,規定要上傳的本地檔案的路徑。

mode必需,規定傳輸模式,可能的值有:ftp_ascii、ftp_binary。

resume必需,規定在本地檔案中的何處開始拷貝,預設是0。

返回值:若成功則返回 true,失敗則返回 false。

第六步:關閉 ftp 連線。

ftp_close(ftp_connection);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

例項**:

<?php

$ftp_connection = ftp_connect('***.com',21,1000);

ftp_login($ftp_connection, '***name', '***pwd');

ftp_chdir($ftp_connection, '/blogs/test');

//echo ftp_pwd($ftp_connection);

$r = ftp_put($ftp_connection, 'romote.txt', './local.txt', ftp_binary);

var_dump($r);

ftp_close($ftp_connection);

?>

ftp相關的其他函式

(1)刪除 ftp 伺服器上的乙個檔案。

ftp_delete(ftp_connection,path);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

path必需,規定要刪除的檔案的路徑。

返回值:若成功,則返回 true,否則返回 false。

(2)獲取檔案的最後修改時間。

ftp_login(ftp_connection,file);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

file必需,規定要檢查的檔案。

返回值:如:int 1338845458。

注釋:並非所有 ftp 伺服器都支援該函式,該函式不適用於檢查目錄。

(3)刪除目錄。

ftp_rmdir(ftp_connection,dir);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

dir必需,規定要刪除的目錄。

返回值:若成功,則返回 true,否則返回 false。

注釋:刪除的目錄下不能包含子目錄和檔案。

(4)設定 ftp 伺服器上指定檔案的許可權

ftp_chmod(ftp_connection,mode,file);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

mode必需,規定新的許可權。

file必需,規定要修改許可權的檔案的名稱。

返回值:若成功,返回設定的許可權值,否則返回false。

(5)獲取指定目錄的檔案列表。

ftp_nlist(ftp_connection,dir);

ftp_connection必需,規定要使用的 ftp 連線(ftp 連線的識別符號)。

dir必需,規定要檢查的目錄,使用 '.' 來獲得當前目錄。

返回值:若成功,則返回給定目錄下的檔名組成的陣列,否則返回 false。

示例**:

<?php

/** * ftp上傳檔案類

*/class ftp

/*** 建立目錄並將目錄定位到當請目錄

* * @param resource $connect 連線標識

* @param string $dirpath 目錄路徑

* @return mixed

* 2:建立目錄失敗

* true:建立目錄成功

*/public function makedir($connect, $dirpath)

@ftp_chdir($connect, $dir);

}} return true; }

/*** 關閉伺服器

* * @param resource $connect 連線標識

*/public function closeserver($connect)

/*** 上傳檔案

* * @param string $flag 伺服器標識

* @param string $local 上傳檔案的本地路徑

* @param string $remote 上傳檔案的遠端路徑

* @return int

* 0:伺服器連線失敗

* 1:伺服器登入失敗

* 2:建立目錄失敗

* 3:上傳檔案失敗

* 4:上傳成功

*/public function upload($flag = 'test', $local, $remote)

/*** 刪除檔案

* * @param string $flag 伺服器標識

* @param string $remote 檔案的遠端路徑

* @return int

* 0:伺服器連線失敗

* 1:伺服器登入失敗

* 2:刪除失敗

* 3:刪除成功

*/public function delete($flag = 'test', $remote)

/*** 讀取檔案

* * @param string $flag 伺服器標識

* @param string $remote 檔案的遠端路徑

* @return mixed

* 0:伺服器連線失敗

* 1:伺服器登入失敗

*/public function read($flag, $remote)

return array_values($result); }

/*** 獲取ftp伺服器配置

* * @param string $flag 伺服器標識test

* @return array ftp伺服器連線配置

*/private function getserverconfig($flag = 'test')

}

php ftp檔案上傳函式 基礎版

複製 如下 php 定義變數 local file local.zip server file server.zip 程式設計客棧連線ftp伺服器 conn id ftp connect 程式設計客棧ftp server 驗證登入伺服器 login result ftp login conn id,...

php ftp操作相關函式

ftp 函式通過檔案傳輸協議 ftp 提供對檔案伺服器的客戶端訪問。php 的 windows 版本內建了對 ftp 擴充套件的支援。無需載入任何附加擴充套件庫即可使用 ftp 函式。然而,如果您執行的是 php 的 linux 版本,在編譯 php 的時候請新增 enable ftp 選項 php...

php mysql上傳檔案 PHP 檔案上傳

通過 php,可以把檔案上傳到伺服器。建立乙個檔案上傳表單 允許使用者從表單上傳檔案是非常有用的。請看下面這個供上傳檔案的 html 表單 芝麻教程 web3.xin 檔名 將以上 儲存到 form.html 檔案中。有關上面的 html 表單的一些注意項列舉如下 標籤的 enctype 屬性規定了...