Ejemplo n.º 1
0
function ftpupload($source, $dest) {
	global $_SGLOBAL;

	if(empty($_SGLOBAL['ftpconnid']) && !($_SGLOBAL['ftpconnid'] = sftp_connect())) {
		return 0;
	} else {
		$ftpconnid = $_SGLOBAL['ftpconnid'];
	}
	$ftppwd = FALSE;
	$tmp = explode('/', $dest);
	$dest = array_pop($tmp);

	foreach ($tmp as $tmpdir) {
		if(!sftp_chdir($ftpconnid, $tmpdir)) {
			if(!sftp_mkdir($ftpconnid, $tmpdir)) {
				runlog('FTP', "MKDIR '$tmpdir' ERROR.", 0);
				return 0;
			}
			if(!function_exists('ftp_chmod') || !sftp_chmod($ftpconnid, 0777, $tmpdir)) {
				sftp_site($ftpconnid, "'CHMOD 0777 $tmpdir'");
			}
			if(!sftp_chdir($ftpconnid, $tmpdir)) {
				runlog('FTP', "CHDIR '$tmpdir' ERROR.", 0);
				return 0;
			}
			sftp_put($ftpconnid, 'index.htm', S_ROOT.'./data/index.htm', FTP_BINARY);
		}
	}

	if(sftp_put($ftpconnid, $dest, $source, FTP_BINARY)) {
		if(file_exists($source.'.thumb.jpg')) {
			if(sftp_put($ftpconnid, $dest.'.thumb.jpg', $source.'.thumb.jpg', FTP_BINARY)) {
				@unlink($source);
				@unlink($source.'.thumb.jpg');
				sftp_close($ftpconnid);
				return 1;
			} else {
				sftp_delete($ftpconnid, $dest);
			}
		} else {
			@unlink($source);
			sftp_close($ftpconnid);
			return 1;
		}
	}
	runlog('FTP', "Upload '$source' To '$dest' error.", 0);
	return 0;
}
Ejemplo n.º 2
0
function deletepicfiles($pics)
{
    global $_SGLOBAL, $_SC;
    $remotes = array();
    foreach ($pics as $pic) {
        if ($pic['remote']) {
            $remotes[] = $pic;
        } else {
            $file = $_SC['attachdir'] . './' . $pic['filepath'];
            if (!@unlink($file)) {
                runlog('PIC', "Delete pic file '{$file}' error.", 0);
            }
            if ($pic['thumb']) {
                if (!@unlink($file . '.thumb.jpg')) {
                    runlog('PIC', "Delete pic file '{$file}.thumb.jpg' error.", 0);
                }
            }
        }
    }
    //删除远程附件
    if ($remotes) {
        include_once S_ROOT . './data/data_setting.php';
        include_once S_ROOT . './source/function_ftp.php';
        $ftpconnid = sftp_connect();
        foreach ($remotes as $pic) {
            $file = $pic['filepath'];
            if ($ftpconnid) {
                if (!sftp_delete($ftpconnid, $file)) {
                    runlog('FTP', "Delete pic file '{$file}' error.", 0);
                }
                if ($pic['thumb'] && !sftp_delete($ftpconnid, $file . '.thumb.jpg')) {
                    runlog('FTP', "Delete pic file '{$file}.thumb.jpg' error.", 0);
                }
            } else {
                runlog('FTP', "Delete pic file '{$file}' error.", 0);
                if ($pic['thumb']) {
                    runlog('FTP', "Delete pic file '{$file}.thumb.jpg' error.", 0);
                }
            }
        }
    }
}