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.]
ftp_chdir
(PHP 4, PHP 5)
ftp_chdir — Zmienia bieżący katalog na serwerze FTP
Opis
bool ftp_chdir
( resource $strumień_ftp
, string $katalog
)
Zmienia bieżący katalog na podany jako argument.
Parametry
- strumień_ftp
-
Identyfikator połączenia z serwerem FTP.
- katalog
-
Katalog docelowy.
Zwracane wartości
Zwraca TRUE w przypadku powodzenia, FALSE w przypadku błędu. Jeśli zmiana katalogu się nie powiedzie, PHP wygeneruje także ostrzeżenie.
Przykłady
Przykład #1 Przykład użycia ftp_chdir()
<?php
// Nawiązanie połączenia
$conn_id = ftp_connect($ftp_server);
// Logowanie
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
// Weryfikacja połączenia
if ((!$conn_id) || (!$login_result)) {
die("Połączenie z serwerem FTP nie zostało nawiązane!");
}
echo "Bieżący katalog: " . ftp_pwd($conn_id) . "\n";
// Próba zmiany katalogu bieżącego na 'jakis_katalog'
if (ftp_chdir($conn_id, "jakis_katalog")) {
echo "Bieżący katalog to teraz: " . ftp_pwd($conn_id) . "\n";
} else {
echo "Nie powiodła się zmiana katalogu\n";
}
// Zamknięcie połączenia
ftp_close($conn_id);
?>
Zobacz też:
- ftp_cdup() - Zmienia bieżący katalog na nadrzędny
- ftp_pwd() - Zwraca nazwę katalogu bieżącego
info at swiftyexpress dot com
26-Nov-2008 01:12
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;
}
}
?>
