php.net

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

ftp_chdirChanges the current directory on a FTP server

Parameters

ftp

An FTP\Connection instance.

directory

The target directory.

Return Values

Returns true on success or false on failure. If changing directory fails, PHP will also throw a warning.

Changelog

Version Description
8.1.0 The ftp parameter expects an FTP\Connection instance now; previously, a resource was expected.

Examples

Example #1 ftp_chdir() example

<?php
// set up basic connection
$ftp = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($ftp, $ftp_user_name, $ftp_user_pass);
// check connection
if ((!$ftp) || (!$login_result)) {
    die("FTP connection has failed !");
}
echo "Current directory: " . ftp_pwd($ftp) . "\n";
// try to change the directory to somedir
if (ftp_chdir($ftp, "somedir")) {
    echo "Current directory is now: " . ftp_pwd($ftp) . "\n";
} else {
    echo "Couldn't change directory\n";
}
// close the connection
ftp_close($ftp);
?>

See Also

6

neil at 11 out of 10

18 years ago

Thanks to h3 at valleyfield dot net
Same function with some minor changes and comments added
FTP function checks if a directory exists
<?php
function 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;
    }
}
?>

5

info at swiftyexpress dot com

17 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.]

Read the original on php.net ↗