• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP ftp_ssl_connect函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中ftp_ssl_connect函数的典型用法代码示例。如果您正苦于以下问题:PHP ftp_ssl_connect函数的具体用法?PHP ftp_ssl_connect怎么用?PHP ftp_ssl_connect使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了ftp_ssl_connect函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: __construct

 /**
  * Connect to FTP server and authenticate via password
  *
  * @since 3.0
  * @throws Exception
  * @return \WC_Customer_Order_CSV_Export_Method_FTP
  */
 public function __construct()
 {
     parent::__construct();
     // Handle errors from ftp_* functions that throw warnings for things like invalid username / password, failed directory changes, and failed data connections
     set_error_handler(array($this, 'handle_errors'));
     // setup connection
     $this->link = null;
     if ('ftps' == $this->security && function_exists('ftp_ssl_connect')) {
         $this->link = ftp_ssl_connect($this->server, $this->port, $this->timeout);
     } elseif ('ftps' !== $this->security) {
         $this->link = ftp_connect($this->server, $this->port, $this->timeout);
     }
     // check for successful connection
     if (!$this->link) {
         throw new Exception(__("Could not connect via FTP to {$this->server} on port {$this->port}, check server address and port.", WC_Customer_Order_CSV_Export::TEXT_DOMAIN));
     }
     // attempt to login, note that incorrect credentials throws an E_WARNING PHP error
     if (!ftp_login($this->link, $this->username, $this->password)) {
         throw new Exception(__("Could not authenticate via FTP with username {$this->username} and password <hidden>. Check username and password.", WC_Customer_Order_CSV_Export::TEXT_DOMAIN));
     }
     // set passive mode if enabled
     if ($this->passive_mode) {
         // check for success
         if (!ftp_pasv($this->link, true)) {
             throw new Exception(__('Could not set passive mode', WC_Customer_Order_CSV_Export::TEXT_DOMAIN));
         }
     }
     // change directories if initial path is populated, note that failing to change directory throws an E_WARNING PHP error
     if ($this->path) {
         // check for success
         if (!ftp_chdir($this->link, '/' . $this->path)) {
             throw new Exception(__("Could not change directory to {$this->path} - check path exists.", WC_Customer_Order_CSV_Export::TEXT_DOMAIN));
         }
     }
 }
开发者ID:daanbakker1995,项目名称:vanteun,代码行数:42,代码来源:class-wc-customer-order-csv-export-method-ftp.php


示例2: Authenticate

 /**
  * Tries to logon to the FTP server with given id and password
  *
  * @access public
  *
  * @param  string $source Authentication source to be used 
  * @param  string $external_uid    The ID entered
  * @param  string $external_passwd The password of the user
  *
  * @return boolean  True if the authentication was a success, false 
  *                  otherwise
  */
 public function Authenticate($source, $external_uid, $external_passwd)
 {
     $enc = ExternalAuthenticator::getAuthEnc($source);
     $port = ExternalAuthenticator::getAuthPort($source);
     if (is_null($port)) {
         $port = self::$port;
     }
     ExternalAuthenticator::AuthLog($external_uid . '.ftp - Connecting to ' . ExternalAuthenticator::getAuthServer($source) . ' port ' . $port);
     if ($enc == 'ssl') {
         ExternalAuthenticator::AuthLog($external_uid . '.ftp - Connection type is SSL');
         $conn = @ftp_ssl_connect(ExternalAuthenticator::getAuthServer($source), $port);
     } else {
         $conn = @ftp_connect(ExternalAuthenticator::getAuthServer($source), $port);
     }
     if (!$conn) {
         ExternalAuthenticator::AuthLog($external_uid . '.ftp - Connection to server failed');
         ExternalAuthenticator::setAuthMessage(_t('FTP_Authenticator.NoConnect', 'Could not connect to FTP server'));
         return false;
     } else {
         ExternalAuthenticator::AuthLog($external_uid . '.ftp - Connection to server succeeded');
     }
     if (!@ftp_login($conn, $external_uid, $external_passwd)) {
         ExternalAuthenticator::AuthLog($external_uid . '.ftp - User credentials failed at ftp server');
         ftp_close($conn);
         ExternalAuthenticator::setAuthMessage(_t('ExternalAuthenticator.Failed'));
         return false;
     } else {
         ExternalAuthenticator::AuthLog($external_uid . '.ftp - ftp server validated credentials');
         ftp_close($conn);
         return true;
     }
 }
开发者ID:hamishcampbell,项目名称:silverstripe-auth-external,代码行数:44,代码来源:FTP.php


示例3: test_connection

 function test_connection()
 {
     if ($this->input->is_ajax_request()) {
         header('Content-Type: application/json', true);
         $ftp_server = trim($this->input->post('address'));
         $ftp_user = trim($this->input->post('user'));
         $ftp_password = trim($this->input->post('password'));
         $port = trim($this->input->post('port'));
         // set up basic connection
         if ($this->input->post('SFTP') == true) {
             $conn_id = @ftp_ssl_connect($ftp_server, $port) or die(json_encode(array('status' => 'error', 'output' => '<span class="delete ftp-alert cmsicon" style="display: inline-block;float: none;"></span>&nbsp;Couldn\'t connect to ' . $ftp_server)));
         } else {
             $conn_id = @ftp_connect($ftp_server, $port) or die(json_encode(array('status' => 'error', 'output' => '<span class="delete ftp-alert cmsicon" style="display: inline-block;float: none;"></span>&nbsp;Couldn\'t connect to ' . $ftp_server)));
         }
         // login with username and password
         if (!@ftp_login($conn_id, $ftp_user, $ftp_password)) {
             $output = array('status' => 'error', 'output' => '<span class="cus-cross-octagon"></span>&nbsp;Username and Password is incorrect');
         } else {
             $output = array('status' => 'success', 'output' => '<span class="cus-accept"></span>&nbsp;Connection OK!');
         }
         ftp_close($conn_id);
         echo json_encode($output);
     } else {
         show_404();
     }
 }
开发者ID:braxtondiggs,项目名称:Clefable,代码行数:26,代码来源:ftp.php


示例4: open

 /**
  * Connect to FTP Server. Use ssl + passive mode by default.
  *
  * @throws 
  * @see __construct
  * @param string $host
  * @param string $user
  * @param string $pass
  */
 public function open($host, $user, $pass)
 {
     $this->setConf(['host' => $host, 'login' => $user, 'password' => $pass]);
     $required = ['host', 'login', 'password', 'port', 'timeout'];
     foreach ($required as $key) {
         if (empty($this->conf[$key])) {
             throw new Exception('empty conf parameter', $key);
         }
     }
     if ($this->conf['ssl']) {
         $this->ftp = @ftp_ssl_connect($this->conf['host'], $this->conf['port'], $this->conf['timeout']);
     } else {
         $this->ftp = @ftp_connect($this->conf['host'], $this->conf['port'], $this->conf['timeout']);
     }
     if ($this->ftp === false) {
         throw new Exception('FTP connect failed', 'host=' . $this->conf['host'] . ' port=' . $this->conf['port']);
     }
     if (!@ftp_login($this->ftp, $this->conf['login'], $this->conf['password'])) {
         $ssl_msg = $this->conf['ssl'] ? ' - try without ssl' : ' - try with ssl';
         throw new Exception('FTP login failed' . $ssl_msg, 'login=' . $this->conf['login'] . ' password=' . mb_substr($this->conf['password'], 0, 2) . '***');
     }
     if ($this->conf['passive'] && !@ftp_pasv($this->ftp, true)) {
         throw new Exception('Failed to switch to passive FTP mode');
     }
     $this->_log('FTP connected to ' . $this->conf['host']);
 }
开发者ID:RolandKujundzic,项目名称:rkphplib,代码行数:35,代码来源:FTP.class.php


示例5: connect

 /**
  * connect to the server.
  */
 public function connect()
 {
     if ($this->connection !== null) {
         return;
     }
     if ($this->config->getSSL()) {
         $this->connection = ftp_ssl_connect($this->config->getHost(), $this->config->getPort(), $this->config->getTimeout());
     } else {
         $this->connection = ftp_connect($this->config->getHost(), $this->config->getPort(), $this->config->getTimeout());
     }
     if ($this->connection === false) {
         throw new FTPFilesystemConnectionException('Could not connect to ' . $this->config->getHost());
     }
     if ($this->config->getUsername()) {
         if (!ftp_login($this->connection, $this->config->getUsername(), $this->config->getPassword())) {
             throw new FTPFilesystemAuthenticationException('Could not login to ' . $this->config->getHost() . ' with username ' . $this->config->getUsername() . ':' . ($this->config->getPassword() ? '*****' : 'NOPASS'));
         }
     }
     ftp_pasv($this->connection, $this->config->getPassiveMode());
     if ($this->config->getBasePath()) {
         if (!ftp_chdir($this->connection, $this->config->getBasePath())) {
             throw new FTPFilesystemException('Could not change into directory ' . $this->config->getBasePath() . ' on ' . $this->config->getHost());
         }
     }
 }
开发者ID:filicious,项目名称:ftp,代码行数:28,代码来源:FTPFilesystem.php


示例6: connect

 /**
  * FTP Connect
  *
  * @access	public
  * @param	array	 the connection values
  * @return	bool
  */
 function connect($config = array())
 {
     if ($this->_is_conn() == TRUE) {
         return TRUE;
     }
     if (count($config) > 0) {
         $this->initialize($config);
     }
     if ($this->ssl == TRUE) {
         if (function_exists('ftp_ssl_connect')) {
             $this->conn_id = @ftp_ssl_connect($this->hostname, $this->port, $this->timeout);
         } else {
             $this->_error('ftp_ssl_not_supported');
             return FALSE;
         }
     } else {
         $this->conn_id = @ftp_connect($this->hostname, $this->port, $this->timeout);
     }
     if ($this->conn_id === FALSE) {
         $this->_error('ftp_unable_to_connect');
         return FALSE;
     }
     if (!$this->_login()) {
         $this->_error('ftp_unable_to_login');
         return FALSE;
     }
     // Set passive mode if needed
     if ($this->passive == TRUE) {
         ftp_pasv($this->conn_id, TRUE);
     }
     return TRUE;
 }
开发者ID:grimsmath,项目名称:lavillafdn,代码行数:39,代码来源:devdemon_ftp.php


示例7: connect

 function connect()
 {
     if (!$this->options['hostname'] || !$this->options['username'] || !$this->options['password']) {
         if (!defined('SUPPORT_URL')) {
             define('SUPPORT_URL', getOption('supportURL'));
         }
         appUpdateMsg('<a href="' . SUPPORT_URL . 'solution/articles/195233-asking-for-ftp-sftp-details-during-update/" target="_blank">See how to add the FTP details</a>.');
         return false;
     }
     if (isset($this->options['ssl']) && $this->options['ssl'] && function_exists('ftp_ssl_connect')) {
         $this->link = @ftp_ssl_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT);
     } else {
         $this->link = @ftp_connect($this->options['hostname'], $this->options['port'], FS_CONNECT_TIMEOUT);
     }
     if (!$this->link) {
         //$this->errors->add('connect', sprintf(__('Failed to connect to FTP Server %1$s:%2$s'), $this->options['hostname'], $this->options['port']));
         appUpdateMsg(sprintf('Failed to connect to the FTP server "%1$s:%2$s"', $this->options['hostname'], $this->options['port']));
         return false;
     }
     if (!@ftp_login($this->link, $this->options['username'], $this->options['password'])) {
         //$this->errors->add('auth', sprintf(__('Username/Password incorrect for %s'), $this->options['username']));
         appUpdateMsg(sprintf('FTP username or password incorrect for "%s"', $this->options['username']));
         return false;
     }
     //Set the Connection to use Passive FTP
     if ($this->options['passive']) {
         @ftp_pasv($this->link, true);
     }
     if (@ftp_get_option($this->link, FTP_TIMEOUT_SEC) < FS_TIMEOUT) {
         @ftp_set_option($this->link, FTP_TIMEOUT_SEC, FS_TIMEOUT);
     }
     return true;
 }
开发者ID:Trideon,项目名称:gigolo,代码行数:33,代码来源:fileSystemFTPExt.php


示例8: connect

 /**
  * FTP Connect
  *
  * @access	public
  * @param	array	 the connection values
  * @return	bool
  */
 public function connect()
 {
     if ($this->_ssl === true) {
         if (!function_exists('ftp_ssl_connect')) {
             throw new \RuntimeException('ftp_ssl_connect() function is missing.');
         }
         $this->_conn = @ftp_ssl_connect($this->_hostname, $this->_port, $this->_timeout);
     } else {
         $this->_conn = @ftp_connect($this->_hostname, $this->_port, $this->_timeout);
     }
     if ($this->_conn === false) {
         if ($this->_debug == true) {
             throw new \Exception('FTP - Unable to establish a connection');
         }
         return false;
     }
     if (!$this->_login()) {
         if ($this->_debug == true) {
             throw new \Exception('FTP - Unable to login');
         }
     }
     // Set passive mode if needed
     if ($this->_passive == true) {
         ftp_pasv($this->_conn, true);
     }
     return $this;
 }
开发者ID:nguyen113,项目名称:Rai5,代码行数:34,代码来源:Ftp.php


示例9: connect

 /**
  * 连接FTP服务器
  * @param string $host       服务器地址
  * @param string $username   用户名
  * @param string $password   密码
  * @param integer $port       服务器端口,默认值为21
  * @param boolean $pasv        是否开启被动模式
  * @param boolean $ssl      是否使用SSL连接
  * @param integer $timeout     超时时间 
  */
 public function connect($host, $username = '', $password = '', $port = '21', $pasv = false, $ssl = false, $timeout = 30)
 {
     $start = time();
     if ($ssl) {
         if (!($this->link = @ftp_ssl_connect($host, $port, $timeout))) {
             $this->err_code = 1;
             return false;
         }
     } else {
         if (!($this->link = ftp_connect($host, $port, $timeout))) {
             $this->err_code = 1;
             return false;
         }
     }
     if (ftp_login($this->link, $username, $password)) {
         if ($pasv) {
             ftp_pasv($this->link, true);
         }
         $this->link_time = time() - $start;
         return true;
     } else {
         $this->err_code = 1;
         return false;
     }
     register_shutdown_function(array(&$this, 'close'));
 }
开发者ID:HUST-CA,项目名称:Hustca-Ncre,代码行数:36,代码来源:ftp.cls.php


示例10: _connect

 /**
  * Connect to an FTP server.
  *
  * @return Object FTP connection
  */
 private static function _connect()
 {
     // do we have an instance already?
     if (!isset(self::$instance)) {
         // give us an ftp connection
         // try ssl first
         @($connection = ftp_ssl_connect(FTP_HOST));
         if (!$connection) {
             // go old school
             @($connection = ftp_connect(FTP_HOST));
             // fail if we don't have a connection
             if (!$connection) {
                 return array('status' => 'fail', 'message' => 'Couldn\'t connect to the FTP server.');
             }
         }
         // login to the server
         @($login = ftp_login($connection, FTP_USER, FTP_PASS));
         // check that login went fine
         if (!$login) {
             return array('status' => 'fail', 'message' => 'Incorrect FTP account credentials.');
         }
         // change connection to a passive mode (connection initiated by client and not server)
         ftp_pasv($connection, TRUE);
         // set ftp connection
         self::$instance = $connection;
     }
     return self::$instance;
 }
开发者ID:radekstepan,项目名称:PumpedBlog,代码行数:33,代码来源:FTP.php


示例11: __construct

 public function __construct($host, $port = 21, $timeout = 90, $ssl = false, $proxy = false, $proxyport = false)
 {
     $host = mb_substr($host, -1, 1) == '/' ? mb_substr($host, 0, mb_strlen($host) - 1) : $host;
     if (mb_strpos($host, 'ftp://') !== false) {
         $host = mb_substr($host, 6);
     }
     $host = $proxy ? $proxy : $host;
     $port = $proxyport ? $proxyport : $port;
     if ($this->debug && $proxy) {
         echo "Utilisation du proxy {$proxy}\n<br>";
     }
     if ($this->debug && $proxyport) {
         echo "Utilisation du port proxy {$proxyport}\n<br>";
     }
     $this->proxy = $proxy;
     $this->host = $host;
     if ($this->debug) {
         echo "Ouverture de connection vers {$host}:{$port} timeout {$timeout} et proxy {$proxy}:{$proxyport}\n<br>";
     }
     if (trim($host) == '') {
         throw new Exception('Nom d\'hote incorrect ' . $host);
     }
     if ($ssl === true) {
         if (($this->connexion = @ftp_ssl_connect($host, $port, $timeout)) === false) {
             throw new Exception('Impossible de se connecter au serveur FTP en SSL');
         }
     } else {
         if (($this->connexion = @ftp_connect($host, $port, $timeout)) === false) {
             throw new Exception('Impossible de se connecter au serveur FTP ' . $host . ":{$port} {$timeout}");
         }
     }
     return $this;
 }
开发者ID:nlegoff,项目名称:Phraseanet,代码行数:33,代码来源:ftpclient.php


示例12: __construct

 /**
  * @param  mixed  string or URL object
  * @param  int    Connection timeout in seconds
  * @throws IOException
  * @throws IllegalArgumentException
  */
 public function __construct($url, $timeout = 30)
 {
     $url = URL::valueOf($url);
     try {
         if ($url->isProtocol('ftp')) {
             $this->conn = ftp_connect($url->getHost('localhost'), $url->getPort(), $timeout);
         } elseif ($url->isProtocol('ftps')) {
             $this->conn = ftp_ssl_connect($url->getHost('localhost'), $url->getPort(), $timeout);
         } else {
             throw new IllegalTypeException('Unsupported protocol: ' . $url->getProtocol('???'));
         }
     } catch (PHPException $e) {
         $e->setMessage(str_replace(array('ftp_connect(): ', 'ftp_ssl_connect(): '), '', $e->getMessage()));
         throw new ConnectException($e);
     }
     if ($this->conn == false) {
         throw new ConnectException('Failed to connect (unknown reason)');
     }
     if ($url->getUser()) {
         $this->login($url->getUser(), $url->getPassword(''));
     }
     if ($url->getPath()) {
         $this->cd($url->getPath());
     }
 }
开发者ID:rsms,项目名称:phpab,代码行数:31,代码来源:FTPConnection.php


示例13: connect

 /**
  * 
  * @param string $host
  * @param string $user
  * @param string $pass
  * @param string $port
  * @param boolean $passive
  * @param boolean $ssl
  * @return boolean
  * @throws Exception
  */
 public function connect($host, $user, $pass, $port = 21, $passive = true, $ssl = false)
 {
     $this->host = $host;
     $this->user = $user;
     $this->pass = $pass;
     $this->port = $port;
     $this->_idFtp = null;
     $this->passive = $passive;
     $this->ssl = $ssl;
     if ($this->ssl) {
         $this->_idFtp = @ftp_ssl_connect($this->host, $this->port);
     } else {
         $this->_idFtp = @ftp_connect($this->host, $this->port);
     }
     if (!$this->_idFtp) {
         throw new Exception('Nao foi possivel conectar ao servidor "' . $this->host . '" sobre a porta "' . $this->port . '".', -32001);
     }
     $result = @ftp_login($this->_idFtp, $this->user, $this->pass);
     if (!$result) {
         throw new Exception('Usuario ou senha invalido!', -32010);
     }
     if (!@ftp_pasv($this->_idFtp, $this->passive)) {
         throw new Exception('Nao foi possivel alterar o modo "passive mode"!', -32002);
     }
     $this->_isConnected = true;
     return true;
 }
开发者ID:rtsantos,项目名称:mais,代码行数:38,代码来源:Ftp.php


示例14: getListing

 public function getListing()
 {
     $dir = $this->directory;
     // Parse directory to parts
     $parsed_dir = trim($dir, '/');
     $this->parts = empty($parsed_dir) ? array() : explode('/', $parsed_dir);
     // Find the path to the parent directory
     if (!empty($parts)) {
         $copy_of_parts = $parts;
         array_pop($copy_of_parts);
         if (!empty($copy_of_parts)) {
             $this->parent_directory = '/' . implode('/', $copy_of_parts);
         } else {
             $this->parent_directory = '/';
         }
     } else {
         $this->parent_directory = '';
     }
     // Connect to the server
     if ($this->ssl) {
         $con = @ftp_ssl_connect($this->host, $this->port);
     } else {
         $con = @ftp_connect($this->host, $this->port);
     }
     if ($con === false) {
         $this->setError(JText::_('FTPBROWSER_ERROR_HOSTNAME'));
         return false;
     }
     // Login
     $result = @ftp_login($con, $this->username, $this->password);
     if ($result === false) {
         $this->setError(JText::_('FTPBROWSER_ERROR_USERPASS'));
         return false;
     }
     // Set the passive mode -- don't care if it fails, though!
     @ftp_pasv($con, $this->passive);
     // Try to chdir to the specified directory
     if (!empty($dir)) {
         $result = @ftp_chdir($con, $dir);
         if ($result === false) {
             $this->setError(JText::_('FTPBROWSER_ERROR_NOACCESS'));
             return false;
         }
     } else {
         $this->directory = @ftp_pwd($con);
         $parsed_dir = trim($this->directory, '/');
         $this->parts = empty($parsed_dir) ? array() : explode('/', $parsed_dir);
         $this->parent_directory = $this->directory;
     }
     // Get a raw directory listing (hoping it's a UNIX server!)
     $list = @ftp_rawlist($con, '.');
     ftp_close($con);
     if ($list === false) {
         $this->setError(JText::_('FTPBROWSER_ERROR_UNSUPPORTED'));
         return false;
     }
     // Parse the raw listing into an array
     $folders = $this->parse_rawlist($list);
     return $folders;
 }
开发者ID:densem-2013,项目名称:exikom,代码行数:60,代码来源:ftpbrowsers.php


示例15: connectSsl

 /**
  * 建立ssl ftp连接
  * 
  */
 protected function connectSsl()
 {
     $ftpobj = @ftp_ssl_connect($this->host, $this->port, $this->timeout);
     if (null == $ftpobj) {
         throw new FtpException("FTP ERROR : Couldn't connect to {$this->host}");
     }
 }
开发者ID:tiger2soft,项目名称:LycPHP,代码行数:11,代码来源:FtpAbstract.class.php


示例16: sslConnect

 public function sslConnect()
 {
     try {
         $this->resource = ftp_ssl_connect($this->host, $this->port);
     } catch (Exception $e) {
         throw new Exception("Unable to establish a SSL-FTP connection to host: " . $this->host . ':' . $this->port);
     }
     $this->login();
 }
开发者ID:moxar,项目名称:ftp,代码行数:9,代码来源:Connection.php


示例17: connect

 /**
  * @desc Coneción al servidor
  * @return bool
  */
 public function connect($ssl = false, $timeout = 90)
 {
     $this->connection = $ssl ? ftp_ssl_connect($this->server, $this->port, $timeout) : ftp_connect($this->server, $this->port, $timeout);
     if (!ftp_login($this->connection, $this->uname, $this->pass)) {
         return false;
     } else {
         return true;
     }
 }
开发者ID:JustineBABY,项目名称:rmcommon,代码行数:13,代码来源:ftpclient.php


示例18: __construct

 /**
  * Establish a connection
  * @todo Options...
  */
 public function __construct($url, array $options = null)
 {
     $data = parse_url($url);
     //Establish connection to the server
     if (isset($data['scheme']) && strtolower($data['scheme']) == 'ftps') {
         if (isset($data['port']) && $data['port']) {
             $this->conn = ftp_ssl_connect($data['host'], $data['port']);
             if (!$this->conn) {
                 throw new \Exception("Could not connect to 'ftps://{$data['host']}:{$data['port']}'");
             }
         } else {
             $this->conn = ftp_ssl_connect($data['host']);
             if (!$this->conn) {
                 throw new \Exception("Could not connect to 'ftps://{$data['host']}'");
             }
         }
     } else {
         if (isset($data['port']) && $data['port']) {
             $this->conn = ftp_connect($data['host'], $data['port']);
             if (!$this->conn) {
                 throw new \Exception("Could not connect to 'ftp://{$data['host']}:{$data['port']}'");
             }
         } else {
             $this->conn = ftp_connect($data['host']);
             if (!$this->conn) {
                 throw new \Exception("Could not connect to 'ftp://{$data['host']}'");
             }
         }
     }
     //Provide username and password
     if (isset($data['user'])) {
         $user = $data['user'];
     } else {
         $user = 'anonymous';
     }
     if (isset($data['pass'])) {
         $pass = $data['pass'];
     } else {
         $pass = '';
     }
     if (!ftp_login($this->conn, $user, $pass)) {
         throw new \Exception("Could not login to '{$data['host']}' as '{$user}'");
     }
     //Use firewall friendly passive mode
     if (!ftp_pasv($this->conn, true)) {
         trigger_error("Passive mode failed", \E_USER_WARNING);
     }
     //Go to defined directory
     if (isset($data['path']) && $data['path']) {
         // Make sure the $path ends with a slash.
         $data['path'] = rtrim($data['path'], '/') . '/';
         if (!$this->cd(urldecode($data['path']))) {
             throw new \Exception("Could not change directory to '{$data['path']}'. Please make sure the directory exists.");
         }
     }
 }
开发者ID:banago,项目名称:bridge,代码行数:60,代码来源:Ftp.php


示例19: createSecondFTPConnect

 public function createSecondFTPConnect($ip, $port, $user, $pwd, $ssl = 'N')
 {
     $this->ftpSecondConnection = $ssl == 'N' ? @ftp_connect($ip, $port, 5) : @ftp_ssl_connect($ip, $port, 5);
     if ($this->ftpSecondConnection) {
         $ftpLogin = @ftp_login($this->ftpSecondConnection, $user, $pwd);
         if ($ftpLogin) {
             $this->secondLoggedIn = true;
             return true;
         }
     }
     return false;
 }
开发者ID:Eun,项目名称:developer,代码行数:12,代码来源:class_ftp.php


示例20: connect

 function connect($base_dir = null)
 {
     static $ftp_conn, $_base_dir, $disconnected = false;
     if (!isset($ftp_conn) || $disconnected) {
         if (!defined('AK_FTP_PATH')) {
             trigger_error(Ak::t('You must set a valid FTP connection on AK_FTP_PATH in your config/config.php file'), E_USER_ERROR);
         } else {
             if (AK_AUTOMATIC_CONFIG_VARS_ENCRYPTION && substr(AK_FTP_PATH, 0, 10) == 'PROTECTED:') {
                 // You should change the key bellow and encode this file if you are going to distribute applications
                 // The ideal protection would be to encode user configuration file.
                 $AK_FTP_PATH = Ak::decrypt(base64_decode(substr(AK_FTP_PATH, 10)), 'HR23JHR93JZ0ALi1UvTZ0ALi1UvTk7MD70');
                 $_pass_encoded = true;
             } else {
                 $AK_FTP_PATH = AK_FTP_PATH;
             }
             $f = parse_url($AK_FTP_PATH);
             if (@$f['scheme'] != 'ftps') {
                 $ftp_conn = isset($f['port']) ? ftp_connect($f['host'], $f['port']) : ftp_connect($f['host']);
             } else {
                 $ftp_conn = isset($f['port']) ? ftp_ssl_connect($f['host'], $f['port']) : ftp_ssl_connect($f['host']);
             }
             $f['user'] = str_replace('+', '@', @$f['user']);
             $login_result = ftp_login($ftp_conn, $f['user'], @$f['pass']);
             if (!$ftp_conn || !$login_result) {
                 AK_FTP_SHOW_ERRORS ? trigger_error(Ak::t('Could not connect to the FTP server'), E_USER_NOTICE) : null;
                 return false;
             }
             $_base_dir = isset($f['path']) ? '/' . trim($f['path'], '/') : '/';
             if (defined('AK_FTP_AUTO_DISCONNECT') && AK_FTP_AUTO_DISCONNECT) {
                 register_shutdown_function(array('AkFtp', 'disconnect'));
             }
             if (AK_AUTOMATIC_CONFIG_VARS_ENCRYPTION && empty($_pass_encoded)) {
                 @register_shutdown_function(create_function('', "@Ak::file_put_contents(AK_CONFIG_DIR.DS.'config.php',\n                str_replace(AK_FTP_PATH,'PROTECTED:'.base64_encode(Ak::encrypt(AK_FTP_PATH,'HR23JHR93JZ0ALi1UvTZ0ALi1UvTk7MD70')),\n                Ak::file_get_contents(AK_CONFIG_DIR.DS.'config.php')));"));
             }
         }
     }
     if (isset($base_dir) && $base_dir === 'AK_DISCONNECT_FTP') {
         $disconnected = true;
         $base_dir = null;
     } else {
         $disconnected = false;
     }
     if (!isset($base_dir) && isset($_base_dir) && '/' . trim(ftp_pwd($ftp_conn), '/') != $_base_dir) {
         if (!@ftp_chdir($ftp_conn, $_base_dir) && AK_FTP_SHOW_ERRORS) {
             trigger_error(Ak::t('Could not change to the FTP base directory %directory', array('%directory' => $_base_dir)), E_USER_NOTICE);
         }
     } elseif (isset($base_dir)) {
         if (!ftp_chdir($ftp_conn, $base_dir) && AK_FTP_SHOW_ERRORS) {
             trigger_error(Ak::t('Could not change to the FTP directory %directory', array('%directory' => $base_dir)), E_USER_NOTICE);
         }
     }
     return $ftp_conn;
 }
开发者ID:joeymetal,项目名称:v1,代码行数:53,代码来源:AkFtp.php



注:本文中的ftp_ssl_connect函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP ftp_systype函数代码示例发布时间:2022-05-15
下一篇:
PHP ftp_size函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap