PHP 7.4.0 alpha 3 Released

ftp_chdir

(PHP 4, PHP 5, PHP 7)

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

説明

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

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

パラメータ

ftp_stream

FTP 接続のリンク ID 。

directory

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

返り値

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

例1 ftp_chdir() の例

<?php

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

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

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

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

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

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

参考

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

add a note add a note

User Contributed Notes 2 notes

up
10
neil at 11 out of 10
11 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
0
info at swiftyexpress dot com
10 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