php利用ftp(php利用表單計算圓的周長和面積)

本文目錄一覽:

北大青鳥設計培訓:用PHP控制FTP文件上傳?

利用PHP,你總是可以有多種方式來完成某個特定的任務。

我們就拿文件上傳舉個例子。

當然了,你可以按照傳統的方式來使用HTTP文件上傳,把文件直接傳輸到Web伺服器磁碟上。

青島電腦培訓認為你還可以用更加奇異的方式上傳,用FTP協議兩步就完成上傳:從你的本地硬碟到Web伺服器,然後再到FTP伺服器。

PHP在本機同時支持FTP和HTTP上傳,所以你可以根據自己應用程序的設計需要進行最佳的選擇。

使用PHP的FTP函數進行文件傳輸幾乎與使用傳統的FTP客戶端相同——你會看到連函數的名字都和標準的FTP命令類似。

關於HTTP文件上傳的文章已經多得滿天飛了,這就是為什麼本文有必要把注意力放在基於FTP的文件上傳上了(但是在後面給出的例子中,兩種方式你都會看到)。

要注意的是,本教程假設你已經安裝好了PHP/Apache,而且HTTP文件上傳和FTP的函數都已經激活了。

第一步:確信你擁有連接/上傳到FTP伺服器的許可權PHP的FTP函數需要客戶端-伺服器連接,所以你需要在進行文件上傳之前登錄到目標伺服器上。

你的第一項任務是確信你已經擁有了完成這項任務的信任書。

這一步可能看起來是理所當然的,但是你會驚奇地發現有多少開發人員忘了這麼做,結果後來浪費大量的時間來解決因此而出現的問題。

怎麼通過PHP來支持FTP和HTTP上傳

給你一些 php 操作 ftp 的函數:

FTP 函數

ftp_alloc — 為要上傳的文件分配空間

ftp_cdup — 切換到當前目錄的父目錄

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_nb_continue — 連續獲取/發送文件(non-blocking)

ftp_nb_fget — 從 FTP 伺服器獲取文件並寫入到一個打開的文件(非阻塞)

ftp_nb_fput — 將文件存儲到 FTP 伺服器 (非阻塞)

ftp_nb_get — 從 FTP 伺服器上獲取文件並寫入本地文件(non-blocking)

ftp_nb_put — 存儲一個文件至 FTP 伺服器(non-blocking)

ftp_nlist — 返回給定目錄的文件列表

ftp_pasv — 返回當前 FTP 被動模式是否打開

ftp_put — 上傳文件到 FTP 伺服器

ftp_pwd — 返回當前目錄名

ftp_quit — ftp_close 的 別名

ftp_raw — 向 FTP 伺服器發送命令

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_server=””; 

$ftp_user_name=””; 

$ftp_user_pass=””; 

$file = “”;//tobe uploaded 

$remote_file = “”; 

// 簡歷ftp鏈接

$conn_id = ftp_connect($ftp_server); 

// 使用用戶名和密碼登錄

$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 

// 上傳文件

if (ftp_put($conn_id, $remote_file, $file, FTP_ASCII)) { 

    echo “成功上傳文件: $file\n”; 

    exit; 

} else { 

    echo “上傳文件錯誤: $file\n”; 

    exit; 

    

// 關閉ftp鏈接

ftp_close($conn_id);

如何使用php中ftp函數上傳文件以及解決上傳文件失敗的方法

一、 ftp上傳圖片參數說明。

1 $source:本機圖片完整的路徑。(/a/b/c.jpg)

2 $des :上傳目標linux主機完整的路徑。

3 $ftp_server:ftp地址

4 $ftp_user_name:ftp用戶名

5 $ftp_user_pass: ftp密碼

6 $port:埠

二、如何使用php中ftp函數上傳文件的方法

例如:

本地地址為:/a/b/c.jpg

目標地址為:/d/a/b/c.jpg

2.1、linux主機上傳linux主機。

01 function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)

02 {

03 // 此步驟是在於上傳目錄與本機的目錄不一致轉換使用

04 $des = “/d” . $des;

05 $conn_id = ftp_connect($ftp_server, $port) or die(“Couldn’t connect to $ftp_server”);

06 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

07 ftp_pasv($conn_id, TRUE);

08 $ftp_folder = dirname($des);

09 $dir = explode(“/”, $ftp_folder);

10 $path = “”;

11 for ($i = 0; $i count($dir); $i++) {

12 $path .= “/” . $dir[$i];

13 if (!ftp_chdir($conn_id, $path)) {

14 $result = ftp_mkdir($conn_id, $path);

15 }

16 }

17 if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {

18 return 1;

19 } else {

20 return 0;

21 }

22 ftp_close($conn_id);

23 }

2.2、windows主機上傳linux主機。

01 function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)

02 {

03 $des = “/d” . $des;

04 $conn_id = ftp_connect($ftp_server, $port) or die(“Couldn’t connect to $ftp_server”);

05 $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

06 ftp_pasv($conn_id, TRUE);

07 $ftp_folder = dirname(str_ireplace(‘\\’, ‘/’, $des));

08 $dir = explode(“/”, $ftp_folder);

09 $path = “”;

10 for ($i = 0; $i count($dir); $i++) {

11 $path .= “/” . $dir[$i];

12 if (!ftp_chdir($conn_id, $path)) {

13 $result = ftp_mkdir($conn_id, $path);

14 }

15 }

16 if (ftp_put($conn_id, str_ireplace(‘\\’, ‘/’, $des), $source, FTP_BINARY)) {

17 return 1;

18 } else {

19 return 0;

20 }

21 ftp_close($conn_id);

22 }

上面的兩種使用php中ftp函數上傳文件的方法基本可以滿足正常的使用。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/298142.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:17
下一篇 2024-12-28 12:17

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python編程求長方形的面積

    求長方形面積是很常見的計算問題。在Python中使用簡單的數學運算即可完成,本文將從多個方面詳細闡述Python編程求長方形面積的方法。 一、計算長方形面積的數學公式 長方形是由兩…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Python編程:如何定義一個計算三角形面積的函數

    計算三角形面積是幾何學中的一個基礎問題。在Python編程中,我們可以通過定義一個函數來計算任意三角形的面積。本文將從以下幾個方面對Python定義一個計算三角形面積的函數進行闡述…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • Python三角形周長及面積

    在Python編程中,計算三角形的周長及面積是基礎的操作之一。在此文章中,將詳細闡述如何通過Python編程計算三角形的周長及面積。 一、三角形概述 三角形是由三條線段相交而成的平…

    編程 2025-04-28
  • Java表單提交方式

    Java表單提交有兩種方式,分別是get和post。下面我們將從以下幾個方面詳細闡述這兩種方式。 一、get方式 1、什麼是get方式 在get方式下,表單的數據會以查詢字元串的形…

    編程 2025-04-27
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • PHP與Python的比較

    本文將會對PHP與Python進行比較和對比分析,包括語法特性、優缺點等方面。幫助讀者更好地理解和使用這兩種語言。 一、語法特性 PHP語法特性: <?php // 簡單的P…

    編程 2025-04-27

發表回復

登錄後才能評論