I used a recursive cdup function until i realised i could navigate to the user's home directory from any location using ~:
<? ftp_chdir($connid, "~"); ?>
(PHP 4, PHP 5, PHP 7)
ftp_cdup — Changes to the parent directory
$ftp_stream
)Changes to the parent directory.
ftp_stream
The link identifier of the FTP connection.
Returns TRUE
on success or FALSE
on failure.
Example #1 ftp_cdup() example
<?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);
// change the current directory to html
ftp_chdir($conn_id, 'html');
echo ftp_pwd($conn_id); // /html
// return to the parent directory
if (ftp_cdup($conn_id)) {
echo "cdup successful\n";
} else {
echo "cdup not successful\n";
}
echo ftp_pwd($conn_id); // /
ftp_close($conn_id);
?>
I used a recursive cdup function until i realised i could navigate to the user's home directory from any location using ~:
<? ftp_chdir($connid, "~"); ?>
ftp_cdup can only up to the parent and if you want test a directory that is not a child then you can't with ftp_cdup ;)
The below example doesn't seem to work on a windows based machine so I use this trick instead
<?php
$aPath = explode('/',ftp_pwd($conn_id));
$sHomeDir = str_repeat('../', count($aPath) - 1);
ftp_chdir($conn_id, $sHomeDir);
?>