I am trying to transfer a folder with files from server to another.
I found a script online and it sort of works. What it does is copy files from the root folder (which it shouldn't) and puts into the folder I am trying to copy from.
What I need is it to copy from the $ftproot into the $srcroot/$srcela folder.
Can someone please tell me what I am doing wrong.
PHP Code:
// --------------------------------------------------------------------
// THE TRIGGER
// --------------------------------------------------------------------
// set the various variables
$ftproot = "/mnt/channel/Upload/16_2/";
$srcroot = "/var/www/html/slides/";
$srcrela = "16_2/";
// connect to the destination FTP & enter appropriate directories both locally and remotely
$ftpc = ftp_connect("localhost");
$ftpr = ftp_login($ftpc,"username","password");
if ((!$ftpc) || (!$ftpr)) { echo "FTP connection not established!"; die(); }
if (!chdir($srcroot)) { echo "Could not enter local source root directory."; die(); }
if (!ftp_chdir($ftpc,$ftproot)) { echo "Could not enter FTP root directory."; die(); }
// start ftp'ing over the directory recursively
ftpRec ($srcrela);
// close the FTP connection
ftp_close($ftpc);
// --------------------------------------------------------------------
// THE ACTUAL FUNCTION
// --------------------------------------------------------------------
function ftpRec ($srcrela) {
global $srcroot;
global $ftproot;
global $ftpc;
global $ftpr;
// enter the local directory to be recursed through
chdir($srcroot.$srcrela);
// check if the directory exists & change to it on the destination
if (!ftp_chdir($ftpc,$ftproot.$srcrela)) {
// remote directory doesn't exist so create & enter it
ftp_mkdir ($ftpc,$ftproot.$srcrela);
ftp_chdir ($ftpc,$ftproot.$srcrela);
}
if ($handle = opendir(".")) {
while (false !== ($fil = readdir($handle))) {
if ($fil != "." && $fil != "..") {
// check if it's a file or directory
if (!is_dir($fil)) {
// it's a file so upload it
ftp_put($ftpc, $ftproot.$srcrela.$fil, $fil, FTP_BINARY);
} else {
// it's a directory so recurse through it
if ($fil == "templates") {
// I want the script to ignore any directories named "templates"
// and therefore, not recurse through them and upload their contents
} else {
ftpRec ($srcrela.$fil."/");
chdir ("../");
}
}
}
}
closedir($handle);
}
}