使用 "ftp_rename" 將檔案移動到伺服器 ftp 上的其他目錄
..
...
if(ftp_rename($conn_ftp, $xfiles[$i], "./dirx/".$xfiles[$i])) {
echo "檔案 $xfiles[$i] 已移動到 ./dirx";
} else {
echo "錯誤!!!檔案無法移動";
}
...
..
#-->>h2m, bye
(PHP 4, PHP 5, PHP 7, PHP 8)
ftp_rename — 重新命名 FTP 伺服器上的檔案或目錄
版本 | 說明 |
---|---|
8.1.0 | ftp 參數現在需要一個 FTP\Connection 實例;以前需要的是 資源。 |
範例 #1 ftp_rename() 範例
<?php
$old_file = 'somefile.txt.bak';
$new_file = 'somefile.txt';
// 建立基本連線
$ftp = ftp_connect($ftp_server);
// 使用帳號密碼登入
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// 嘗試將 $old_file 重新命名為 $new_file
if (ftp_rename($ftp, $old_file, $new_file)) {
echo "成功將 $old_file 重新命名為 $new_file\n";
} else {
echo "將 $old_file 重新命名為 $new_file 時發生問題\n";
}
// 關閉連線
ftp_close($ftp);
?>
使用 "ftp_rename" 將檔案移動到伺服器 ftp 上的其他目錄
..
...
if(ftp_rename($conn_ftp, $xfiles[$i], "./dirx/".$xfiles[$i])) {
echo "檔案 $xfiles[$i] 已移動到 ./dirx";
} else {
echo "錯誤!!!檔案無法移動";
}
...
..
#-->>h2m, bye
在重新命名檔案之前,您必須確認新名稱是否存在,否則可能會造成檔案遺失的風險。只需使用 `ftp_size` 檢查新名稱即可。如果結果不等於 -1,則表示新名稱已存在,您應該拋出某種錯誤,否則就會遺失檔案...
要重新命名檔案或資料夾,您應該使用 `ftp_chdir` 來選擇 FTP 伺服器上的當前目錄,或者您應該在舊名稱和新名稱中寫入檔案的完整路徑。
範例 1
<?php
// 開啟包含檔案的資料夾
ftp_chdir($conn_id, '/www/ftp-filemanager/');
// 重新命名檔案
ftp_rename($conn_id, 'file1.jpg', 'new_name_4_file.jpg');
?>
或寫入完整路徑,範例 2
<?
// 重新命名檔案
ftp_rename($conn_id, '/www/ftp-filemanager/file1.jpg', '/www/ftp-filemanager/new_name_4_file.jpg');
?>
這個函式不僅可以重新命名檔案,還可以重新命名資料夾。它不僅可以重新命名它們,還可以移動它們,如果是資料夾,還可以移動它們的內容(因此資料夾不必是空的才能移動)。例如:
<?php
ftp_rename($conn_id, "./dir1/dir2/", "./dir3/");
?>
現在,資料夾 dir2(之前位於資料夾 dir1 中)已移動到與 dir1 相同的資料夾,並且保留了其原始內容(內容只是跟著移動了)。