ftp_chdir

(PHP 4, PHP 5, PHP 7)

ftp_chdir在 FTP 服务器上改变当前目录

说明

ftp_chdir ( resource $ftp_stream , string $directory ) : bool

将当前目录切换为指定的目录。

参数

ftp_stream

FTP 连接的标识符。

directory

目标目录。

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE。如果切换目录失败,PHP 还会发出一条警告。

范例

Example #1 ftp_chdir() 例子

<?php

// set up basic connection
$conn_id ftp_connect($ftp_server);

// login with username and password
$login_result ftp_login($conn_id$ftp_user_name$ftp_user_pass);

// check connection
if ((!$conn_id) || (!$login_result)) {
    die(
"FTP connection has failed !");
}

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

// try to change the directory to somedir
if (ftp_chdir($conn_id"somedir")) {
    echo 
"Current directory is now: " ftp_pwd($conn_id) . "\n";
} else {
    echo 
"Couldn't change directory\n";
}

// close the connection 
ftp_close($conn_id); 
?>

参见

User Contributed Notes

info at swiftyexpress dot com 26-Nov-2008 01:12
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.]
neil at 11 out of 10 16-Apr-2008 05:58
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;
    }       
}
?>