PHP FTP的相關函數及簡單使用示例

簡介

FTP是ARPANet的標準文件傳輸協議,該網絡就是現今Internet的前身。
PHP FTP函數是通過文件傳輸協議提供對文件服務器的客戶端訪問,FTP函數用于打開、登陸以及關閉連接,也用于上傳、下載、重命名、刪除以及獲取服務器上文件信息。

安裝

PHP 的 Windows 版本內置了對 FTP 擴展的支持,無需下載;如運行的是PHP的Linux版本則需要安裝擴張,即在編譯PHP時添加 --enable-ftp 選項(PHP4 或以上版本)或者 --with-ftp 選項(PHP3 版本)。

PHP FTP函數

ftp_alloc() 為要上傳到 FTP 服務器的文件分配空間。
ftp_cdup() 把當前目錄改變為 FTP 服務器上的父目錄。
ftp_chdir() 改變 FTP 服務器上的當前目錄。
ftp_chmod() 通過 FTP 設置文件上的權限。
ftp_close() 關閉 FTP 連接。
ftp_connect() 打開 FTP 連接。
ftp_delete() 刪除 FTP 服務器上的一個文件。
ftp_exec() 在 FTP 服務器上執行一個程序/命令。
ftp_fget() 從 FTP 服務器上下載一個文件并保存到本地一個已經打開的文件中。
ftp_fput() 上傳一個已經打開的文件,并在 FTP 服務器上把它保存為一個文件。
ftp_get_option() 返回 FTP 連接的各種運行時選項。
ftp_get() 從 FTP 服務器上下載文件。
ftp_login() 登錄 FTP 服務器。
ftp_mdtm() 返回指定文件的最后修改時間。
ftp_mkdir() 在 FTP 服務器上創建一個新目錄。
ftp_nb_continue() 連續獲取/發送文件。(無阻塞)
ftp_nb_fget() 從 FTP 服務器上下載一個文件并保存到本地一個已經打開的文件中。(無阻塞)
ftp_nb_fput() 上傳一個已經打開的文件,并在 FTP 服務器上把它保存為一個文件。(無阻塞)
ftp_nb_get() 從 FTP 服務器上下載文件。(無阻塞)
ftp_nb_put() 把文件上傳到 FTP 服務器上。(無阻塞)
ftp_nlist() 返回 FTP 服務器上指定目錄的文件列表。
ftp_pasv() 把被動模式設置為打開或關閉。
ftp_put() 把文件上傳到 FTP 服務器上。
ftp_pwd() 返回當前目錄名稱。
ftp_quit() ftp_close() 的別名。
ftp_raw() 向 FTP 服務器發送一個 raw 命令。
ftp_rawlist() 返回指定目錄中文件的詳細列表。
ftp_rename() 重命名 FTP 服務器上的文件或目錄。
ftp_rmdir() 刪除 FTP 服務器上的一個目錄。
ftp_set_option() 設置 FTP 連接的各種運行時選項。
ftp_site() 向服務器發送 SITE 命令。
ftp_size() 返回指定文件的大小。
ftp_ssl_connect() 打開一個安全的 SSL-FTP 連接。
ftp_systype() 返回 FTP 服務器的系統類型標識符。

PHP FTP 常量

FTP_ASCII
FTP_TEXT
FTP_BINARY
FTP_IMAGE
FTP_TIMEOUT_SEC
FTP_AUTOSEEK
FTP_AUTORESUME 為 GET 和 PUT 請求自動決定恢復和開始的位置
FTP_FAILED 異步傳輸失敗
FTP_FINISHED 異步傳輸成功
FTP_MOREDATA 異步傳輸是活動狀態的

使用示例:

上傳文件簡單示例代碼

 $host = '127.0.0.1'; //服務器IP$user = 'admin'; //賬戶$pwd = '123456';//密碼//嘗試連接一個 FTP 服務器  21為端口,默認21$f_conn=ftp_connect($host,21);//登陸FTP服務器   參數1:規定要登錄的 FTP 連接;參數2:規定用于登錄的用戶名;參數3規定用于登錄的密碼。三個參數都為必填$f_login = ftp_login($f_conn,$user,$pwd);//把文件上傳到服務器上,參數1:使用的FTP鏈接,參數2:上傳到FTP服務器上報存的文件,參數3:要上傳的文件,參數4:傳輸模式,可選FTP_ASCII、FTP_BINAR,參數5:在本地文件中的何處開始復制。默認是 0;參數1-4必填,參數5選填$result = ftp_put($f_conn,'toText.txt', 'fromText.txt', FTP_ASCII);//關閉連接ftp_close($f_conn);

以上是一個簡單的使用示例,大家可根據自己的實際情況來使用。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/40334.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/40334.shtml
英文地址,請注明出處:http://en.pswp.cn/news/40334.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Ubuntu下mysql8開啟遠程連接

環境 mysql8ubuntu22.04 更改配置文件 vim /etc/mysql/mysql.conf.d/mysqld.conf找到 bind-address 127.0.0.1 mysqlx-bind-address 127.0.0.1 把這兩行注釋掉,保存退出即可 修改mysql配置 登錄mysql創建一個遠程連接賬戶,名字任意,密碼任意,用戶名…

前端高頻面試題 Day02

面試題 var 和 let const 的區別 var 是 ES5 及之前的語法,let const 是 ES6 語法var 和 let 是變量,可修改;const 是常量,不可修改var 有變量提升,let const 沒有var 沒有塊級作用域,let const 有 &…

JavaWeb-DAO設計模式

目錄 DAO設計模式 1.認識DAO 2.DAO各部分的詳解 3.DAO設計模式流程 DAO設計模式 1.認識DAO DAO(Data Acess Object 數據庫訪問對象)的主要功能是操作數據庫,所以DAO在標準開發架構中數據數據層,以下是標準開發的架構 客戶層:目前使用B/…

vue中style scoped屬性的作用

一、為什么要給style 節點加 scoped 屬性(vue) 1、作用:當style標簽里面有scoped屬性時,它的css只作用于當前組建的元素。在單頁面項目中可以使組件之間互不污染,實現模塊化(實現組件的私有化,不…

Ubuntu安裝mysql5.7

目錄 1. 更新系統軟件包2. 安裝MySQL 5.73. 啟動MySQL 服務4. 設置MySQL root 密碼5. 驗證MySQL 安裝6. 啟用遠程訪問7. 創建新用戶8. 為新用戶授予權限9. mysql命令 以Ubuntu 18.04系統為例,安裝MySQL 5.7。操作步驟如下: 1. 更新系統軟件包 sudo apt…

Openai中的tokens怎么估計

大規模語言模型(LLM)的出現給自然語言處理領域帶來了變革的可能性,Openai開放了chatgpt的API,方便了開發人員使用LLM的推理能力,注冊時贈送5美元的使用額度,有效期3個月。 如果想便捷的使用chatgpt的API&a…

介紹 TensorFlow 的基本概念和使用場景

TensorFlow 是一種開源的機器學習框架,由 Google 開發。它是用來構建和訓練機器學習模型的強大工具,支持很多種不同類型的機器學習算法,并使用數據流圖來表示計算過程。 TensorFlow 的核心是張量 (Tensor) 和計算圖 (Graph)。 張量 (Tensor)…

OpenCV之薄板樣條插值(ThinPlateSpline)

官方文檔&#xff1a;OpenCV: cv::ThinPlateSplineShapeTransformer Class Reference 使用方法&#xff1a; 頭文件&#xff1a;#include <opencv2/shape/shape_transformer.hpp> &#xff08;1&#xff09;點匹配 一般根據有多少個樣本&#xff08;或者點&#xff09;…

6.2 Spring Boot整合MyBatis

1、基于Spring BootMyBatis的學生信息系統的設計與實現案例 基于Spring BootMyBatis實現學生信息的新增、修改、刪除、查詢功能&#xff0c;并實現MySQL數據庫的操作。 MySQL數據庫創建學生表&#xff08;t_student&#xff09;&#xff0c;有主鍵、姓名、年齡、性別、出生日…

npm如何設置淘寶的鏡像源模式

1. 查看當前npm的下載源 npm config get registry2. 全局配置npm使用淘寶鏡像作為默認下載源 npm config set registry https://registry.npm.taobao.org --global3. 安裝依賴包 npm install <package-name> 添加到devDependencies字段中&#xff1a; npm install &l…

Jmeter 二次開發 函數助手 AES加解密

Jmeter 二次開發 函數助手 AES加解密 1. 環境準備2. 關鍵技術說明2.1 離線導包2.2 示例代碼 3. 代碼包4. 結果演示 1. 環境準備 IDE &#xff1a;IntelliJ IDEA 2021.1.1 x64JAVA環境 &#xff1a;jdk1.8.0_251離線導包&#xff1a;導入Jmeter安裝目錄下lib/ext下的ApacheJmet…

Java課題筆記~ SpringMVC的四種跳轉方式

默認的跳轉是請求轉發&#xff0c;直接跳轉到jsp頁面展示 還可以使用框架提供的關鍵字redirect&#xff0c;進行一個重定向操作&#xff0c;包括重定向頁面和重定向action&#xff0c;使用框架提供的關鍵字forward&#xff0c;進行服務器內部轉發操作&#xff0c;包括轉發頁面…

Martin_DHCP_V3.0 (DHCP自動化泛洪攻擊GUI)

Github>https://github.com/MartinxMax/Martin_DHCP_V3.0 首頁 Martin_DHCP_V3.0 自動化DHCP洪泛攻擊 Martin_DHCP_V3.0 使用方法 安裝三方庫 #python3 1.RunMe_Install_Packet.py 攻擊路由器 #python3 Martin_DHCP_Attack.py 填寫網卡 填寫攻擊次數 開始運行

《Go 語言第一課》課程學習筆記(二)

初窺門徑&#xff1a;一個 Go 程序的結構是怎樣的&#xff1f; 創建“hello&#xff0c;world”示例程序 在 Go 語言中編寫一個可以打印出“hello&#xff0c;world”的示例程序&#xff0c;我們只需要簡單兩步&#xff0c;一是創建文件夾&#xff0c;二是開始編寫和運行。通…

高光譜 | 礦物識別和分類標簽數據制作、農作物病蟲害數據分類、土壤有機質含量回歸與制圖、木材含水量評估和制圖

本課程提供一套基于Python編程工具的高光譜數據處理方法和應用案例。 本課程涵蓋高光譜遙感的基礎、方法和實踐。基礎篇以學員為中心&#xff0c;用通俗易懂的語言解釋高光譜的基本概念和理論&#xff0c;旨在幫助學員深入理解科學原理。方法篇結合Python編程工具&#xff0c;…

阿里云服務器部署RabbitMQ流程

阿里云百科分享使用阿里云服務器部署RabbitMQ流程&#xff0c;RabbitMQ是實現了高級消息隊列協議&#xff08;AMQP&#xff09;的開源消息代理軟件&#xff0c;用于在分布式系統中存儲轉發消息&#xff0c;有良好的易用性、擴展性和高可用性。本文介紹如何通過ECS實例部署Rabbi…

CentOS系統環境搭建(四)——Centos7安裝Java

centos系統環境搭建專欄&#x1f517;點擊跳轉 Centos7安裝Java 查看云端yum庫中目前支持安裝的jdk軟件包 yum search java|grep jdk選擇JDK版本&#xff0c;并安裝 yum install -y java-1.8.0-openjdk檢查是否安裝成功 java -version查看JDK的安裝目錄 find / -name jav…

【Java面試】redis雪崩、穿透和擊穿詳解

一 Redis雪崩、穿透和擊穿 1. Redis雪崩&#xff1a; Redis雪崩是指在某一時刻&#xff0c;緩存中大量的緩存數據同時失效或過期&#xff0c;導致大量的請求直接打到后端數據庫&#xff0c;導致數據庫負載劇增&#xff0c;引發性能問題甚至崩潰。這通常是因為緩存數據的過期時…

機器學習筆記:李宏毅 stable diffusion

1 基本框架 ①&#xff1a;文字變成向量 ②&#xff1a;喂入噪聲文字encoder&#xff0c;產生中間產物 ③&#xff1a;decoder 還原圖片 2 text encoder 這張圖越往右下表示效果越好&#xff0c;可以看到text encoder尺寸越大&#xff0c;對后續生成圖片的增益越多 3 評價圖…

公園游玩必備!新零售模式如何吸引更多游客

隨著科技的不斷演進&#xff0c;新零售模式正以前所未有的速度改變著我們的購物方式和消費體驗。其中&#xff0c;自動售貨機作為新零售模式的重要組成部分&#xff0c;以其智能化、便捷性和多樣性的特點&#xff0c;正逐漸成為城市中熠熠生輝的一道風景線。 從24小時不間斷的運…