ftp_chdir

(PHP 4, PHP 5, PHP 7, PHP 8)

ftp_chdirFTP サーバー上でディレクトリを移動する

説明

ftp_chdir(FTP\Connection $ftp, string $directory): bool

カレントディレクトリを、指定した場所に移動します。

パラメータ

ftp

FTP\Connection クラスのインスタンス

directory

対象となるディレクトリ。

戻り値

成功した場合に true を、失敗した場合に false を返します。 ディレクトリの変更に失敗した場合は、PHP は警告を出します。

変更履歴

バージョン 説明
8.1.0 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。

例1 ftp_chdir() の例

<?php

// 接続を確立する
$ftp = ftp_connect($ftp_server);

// ユーザー名とパスワードでログインする
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);

// 接続できたか確認する
if ((!$ftp) || (!$login_result)) {
die(
"FTP connection has failed !");
}

echo
"Current directory: " . ftp_pwd($ftp) . "\n";

// somedir に移動する
if (ftp_chdir($ftp, "somedir")) {
echo
"Current directory is now: " . ftp_pwd($ftp) . "\n";
} else {
echo
"Couldn't change directory\n";
}

// 接続を閉じる
ftp_close($ftp);
?>

参考

  • ftp_cdup() - 親ディレクトリに移動する
  • ftp_pwd() - カレントのディレクトリ名を返す

add a note

User Contributed Notes 2 notes

up
6
neil at 11 out of 10
17 years ago
Thanks to h3 at valleyfield dot netSame function with some minor changes and comments addedFTP function checks if a directory exists<?phpfunction ftp_is_dir( $dir ) {    global $ftpcon;    // get current directory    $original_directory = ftp_pwd( $ftpcon );    // test if you can change directory to $dir    // suppress errors in case $dir is not a file or not a directory    if ( @ftp_chdir( $ftpcon, $dir ) ) {        // If it is a directory, then change the directory back to the original directory        ftp_chdir( $ftpcon, $original_directory );        return true;    }     else {        return false;    }        } ?>
up
3
info at swiftyexpress dot com
16 years ago
Works like the other functions in this page's notes, but this one doesn't make use of a global FTP connection, so it takes parameters like the other functions in the extension

<?php
function ftp_directory_exists($ftp, $dir)
{
    // Get the current working directory
    $origin = ftp_pwd($ftp);
    
    // Attempt to change directory, suppress errors
    if (@ftp_chdir($ftp, $dir)) 
    {
        // If the directory exists, set back to origin
        ftp_chdir($ftp, $origin);    
        return true;
    }

    // Directory does not exist
    return false;
}
?>


[NOTE BY danbrown AT php DOT net: As the contributor mentions, the original function was noted here by (h3 AT valleyfield DOT net) on 13-JUL-2007.]
To Top