當前位置:首頁 » 文件管理 » phpftp獲取文件

phpftp獲取文件

發布時間: 2023-08-28 09:46:09

❶ 用php怎樣實現把文件從一台伺服器,移動到另一台ftp伺服器呢

<?php
// 鏈接ftp
$conn = ftp_connect('地址', '埠', '超時時間');

// 登錄
ftp_login($conn, '賬號', '密碼');

$here = ftp_pwd($conn);

//獲取伺服器端系統信息ftp_systype()
$server_os = ftp_systype($conn);

//被動模式(PASV)的開關,打開或關閉PASV(1表示開)
ftp_pasv($conn, 1);

//進入目錄中用ftp_chdir()函數,它接受一個目錄名作為參數。
ftp_chdir($conn, "public_html");
//ftp_mkdir($conn, "test");

ftp_put($conn, "伺服器顯示的名稱", "要上傳的文件名稱", FTP_ASCII);

ftp_quit($conn);

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

因為系統重構實現均衡負載,網站程序與文件伺服器不在一台機子上。於是,程序在上傳文件的同時就要將文件上傳到文件伺服器上。
這里涉及到windows主機上傳到linux主機,linux主機上傳到linux主機。這兩個之間呢,只是稍微的有點區別,因為windows的路徑可以兼容linux路徑,但是linux的路徑不兼容windows主機'\\'的寫法。所以,在寫路徑的時候稍加註意即可。
下面,就列舉上面兩種情況php中使用ftp函數上傳文件的具體實現代碼。
一、 ftp上傳圖片參數說明。
$source:本機圖片完整的路徑。(/a/b/c.jpg)
$des :上傳目標linux主機完整的路徑。
$ftp_server:ftp地址
$ftp_user_name:ftp用戶名
$ftp_user_pass: ftp密碼
$port:埠
二、如何使用php中ftp函數上傳文件的方法
例如:
本地地址為:/a/b/c.jpg
目標地址為:/d/a/b/c.jpg
2.1、linux主機上傳linux主機。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
// 此步驟是在於上傳目錄與本機的目錄不一致轉換使用
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname($des);
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
2、windows主機上傳linux主機。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname(str_ireplace('\\', '/', $des));
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
上面的兩種使用php中ftp函數上傳文件的方法基本可以滿足正常的使用。

❸ php用ftp_nlist獲取到列表後怎麼判斷是一個文件還是一個目錄

用ftp_rawlist,返回結果會告訴你,是文件還是文件夾,非要用ftp_nlist的話,就循環判斷返回值裡面的ftp_size,如果是文件夾,會返回-1,但是效率沒有ftp_rawlist來得高

❹ ftp怎麼設置許可權可以讓php無法讀取其他目錄的文

設置php的執行用戶許可權為只限制讀寫網站根目錄下的文件及文件夾,比如www文件夾是網站根目錄,php-fpm用戶是執行用戶,那麼設置php-fpm只能讀寫www文件夾裡面的文件。這樣其他的www以外的目錄這個用戶就沒有許可權訪問了。

❺ 用php 中ftp函數抓取別人伺服器上的文件內容怎麼做啊

ftp_get -- 從 FTP 伺服器上下載一個文件
說明
bool ftp_get ( resource ftp_stream, string local_file, string remote_file, int mode [, int resumepos])

ftp_get() 函數用來下載 FTP 伺服器上由 remote_file 參數指定的文件,並保存到由參數 local_file 指定的本地文件。傳送碼槐模式參數 mode 只能為 (文本模式) FTP_ASCII 或 (二進制模式) FTP_BINARY 中的其中一個。

注: 參數 resumepos 僅在適用於 PHP 4.3.0 以上版本.

如果成功則返回 TRUE,失敗則返回灶知 FALSE。
ftp_get() 例子

<?php
// define some variables
$local_file = 'local.zip';
$server_file = 'server.zip';
// connect to the FTP server
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// try to download
if (ftp_get($conn_id, $local_file, $server_file, FTP_BINARY)) {
echo "Successfully written to $local_file\n";
} else {
echo "There was a problem\n";
}
// close the connection
ftp_close($conn_id);
?>
不知道你要的是遲辯友不是這個函數。

熱點內容
榮耀暢玩什麼配置 發布:2025-02-01 00:36:35 瀏覽:458
電腦對時伺服器 發布:2025-02-01 00:36:22 瀏覽:162
閃迪存儲卡港版 發布:2025-02-01 00:31:25 瀏覽:78
visualstudio編譯器 發布:2025-02-01 00:31:20 瀏覽:753
如何移植安卓上面的軟體 發布:2025-02-01 00:28:03 瀏覽:121
一刀傳世混沌和破天是什麼伺服器 發布:2025-02-01 00:28:00 瀏覽:688
紅米k40怎麼修改安卓data 發布:2025-02-01 00:23:04 瀏覽:886
文件夾怎麼顯示全名 發布:2025-02-01 00:10:30 瀏覽:860
sdwebimage緩存機制 發布:2025-02-01 00:02:55 瀏覽:886
安卓手機如何調電視 發布:2025-01-31 23:54:37 瀏覽:556