ftp_chdir

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

ftp_chdirChanges the current directory on a FTP server

Description

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

Changes the current directory to the specified one.

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

add a note

User Contributed Notes 2 notes

up
6
neil at 11 out of 10
16 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;
}
}
?>
up
3
info at swiftyexpress dot com
15 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