Hướng dẫn dùng passive ftp trong PHP



Bài viết này hướng dẫn bạn cách kết nối và đăng nhập vào một máy chủ FTP bằng cách sử dụng thư viện commons-net-3.3.jar của Apache.

Lớp FTPClient (org.apache.commons.net.ftp.FTPClient) cung cấp các API cần thiết để làm việc với một máy chủ thông qua giao thức FTP.

Để connect FTP Server, sử dụng phương thức:

void connect(String server, int port)

Sau khi connect và trước khi login thì chúng ta phải check code được trả về xem máy chủ FTP có đáp ứng lệnh connect không bằng lệnh sau:

FTPReply.isPositiveCompletion(ftpClient.getReplyCode())

Nếu có phản hồi thì mới gọi tiếp lệnh login.



Login FTP Server

Để login FTP Server, sử dụng phương thức:

boolean login(String username, String password)

Phương thức login() trả về true nếu login thành công, false nếu login không thành công.


Ví dụ connect FTP Server trong java

File: FTPSample.java

import java.io.IOException; import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPReply; public class FTPSample { private static final String FTP_SERVER_ADDRESS = "127.0.0.1"; private static final int FTP_SERVER_PORT_NUMBER = 21; private static final int FTP_TIMEOUT = 60000; private static final int BUFFER_SIZE = 1024 * 1024 * 1; private static final String FTP_USERNAME = "haophong"; private static final String FTP_PASSWORD = "1234567890"; private FTPClient ftpClient; /** * main * * @param args */ public static void main(String[] args) { FTPSample ftpSample = new FTPSample(); ftpSample.connectFTPServer(); } /** * connect ftp server * * @author viettuts.vn */ private void connectFTPServer() { ftpClient = new FTPClient(); try { System.out.println("connecting ftp server..."); // connect to ftp server ftpClient.setDefaultTimeout(FTP_TIMEOUT); ftpClient.connect(FTP_SERVER_ADDRESS, FTP_SERVER_PORT_NUMBER); // run the passive mode command ftpClient.enterLocalPassiveMode(); // check reply code if (!FTPReply.isPositiveCompletion(ftpClient.getReplyCode())) { disconnectFTPServer(); throw new IOException("FTP server not respond!"); } else { ftpClient.setSoTimeout(FTP_TIMEOUT); // login ftp server if (!ftpClient.login(FTP_USERNAME, FTP_PASSWORD)) { throw new IOException("Username or password is incorrect!"); } ftpClient.setDataTimeout(FTP_TIMEOUT); System.out.println("connected"); } } catch (IOException ex) { ex.printStackTrace(); } } /** * disconnect ftp server * * @author viettuts.vn */ private void disconnectFTPServer() { if (ftpClient != null && ftpClient.isConnected()) { try { ftpClient.logout(); ftpClient.disconnect(); } catch (IOException ex) { ex.printStackTrace(); } } } }

Kết quả:

connecting ftp server... connected



Lập trình PHP: Kết nối FTP Server bằng PHP .

CODE


     //connect to server
     if(!($ftp = ftp_connect("localhost")))
     {
          print("Unable to connect!
n");
          exit();
     }

     print("Connected.
n");

     //log in
     if(!ftp_login($ftp, "anonymous", "corephp@localhost"))
     {
          print("Unable to login!
n");
          exit();
     }

     print("Logged In.
n");

     //print system type
     print("System Type: " . ftp_systype($ftp) . "
n");

     //make sure passive mode is off
     ftp_pasv($ftp, FALSE);

     //get working directory
     print("Working Directory: " . ftp_pwd($ftp) . "
n");

     //get files in raw format
     print("Raw List:
n");
     foreach(ftp_rawlist($ftp, ".") as $line)
     {
          print("$line
n");
     }
     print("
n");

     //move to pub directory
     if(!ftp_chdir($ftp, "pub"))
     {
          print("Unable to go to the pub directory!
n");
     }

     print("Moved to pub directory.
n");

     //get a list of files
     print("Files:
n");
     foreach(ftp_nlist($ftp, ".") as $filename)
     {
          print("$filename
n");
     }
     print("
n");

     //return to root directory
     if(!ftp_cdup($ftp))
     {
          print("Failed to move up a directory!
n");
     }

     //close connection
     ftp_quit($ftp);
?>

Thêm vào trang Google +

Số lần xem : 3810

Đánh giá

Hướng dẫn dùng passive ftp trong PHP
Hướng dẫn dùng passive ftp trong PHP
Hướng dẫn dùng passive ftp trong PHP