ftp_base::mget()publicWP 1.0

Method of the class: ftp_base{}

No Hooks.

Return

null. Nothing (null).

Usage

$ftp_base = new ftp_base();
$ftp_base->mget( $remote, $local, $continious );
$remote (required)
-
$local **
-
Default: "."
$continious **
-
Default: false

ftp_base::mget() code WP 6.4.3

function mget($remote, $local=".", $continious=false) {
	$list=$this->rawlist($remote, "-lA");
	if($list===false) {
		$this->PushError("mget","cannot read remote folder list", "Cannot read remote folder \"".$remote."\" contents");
		return FALSE;
	}
	if(empty($list)) return true;
	if(!@file_exists($local)) {
		if(!@mkdir($local)) {
			$this->PushError("mget","cannot create local folder", "Cannot create folder \"".$local."\"");
			return FALSE;
		}
	}
	foreach($list as $k=>$v) {
		$list[$k]=$this->parselisting($v);
		if( ! $list[$k] or $list[$k]["name"]=="." or $list[$k]["name"]=="..") unset($list[$k]);
	}
	$ret=true;
	foreach($list as $el) {
		if($el["type"]=="d") {
			if(!$this->mget($remote."/".$el["name"], $local."/".$el["name"], $continious)) {
				$this->PushError("mget", "cannot copy folder", "Cannot copy remote folder \"".$remote."/".$el["name"]."\" to local \"".$local."/".$el["name"]."\"");
				$ret=false;
				if(!$continious) break;
			}
		} else {
			if(!$this->get($remote."/".$el["name"], $local."/".$el["name"])) {
				$this->PushError("mget", "cannot copy file", "Cannot copy remote file \"".$remote."/".$el["name"]."\" to local \"".$local."/".$el["name"]."\"");
				$ret=false;
				if(!$continious) break;
			}
		}
		@chmod($local."/".$el["name"], $el["perms"]);
		$t=strtotime($el["date"]);
		if($t!==-1 and $t!==false) @touch($local."/".$el["name"], $t);
	}
	return $ret;
}