PHP ftp_nb_fput()

Giới thiệu về hàm ftp_nb_fput()

Hàm ftp_nb_fput() trong PHP là một phần của thư viện FTP, cho phép bạn tải lên một tệp từ máy tính cục bộ lên máy chủ FTP một cách không đồng bộ. Điều này có nghĩa là khi bạn gọi hàm này, nó sẽ trả về ngay lập tức và không chặn mã nguồn thực thi của bạn.

Cú pháp

ftp_nb_fput(string $ftp_stream, string $remote_file, string $local_file, int $mode, int $resume_pos = 0)

Tham số:

  • $ftp_stream: Luồng FTP đã được mở bằng hàm ftp_connect()ftp_login().
  • $remote_file: Đường dẫn đến tệp trên máy chủ FTP mà bạn muốn tải lên.
  • $local_file: Đường dẫn đến tệp trên máy tính cục bộ mà bạn muốn tải lên.
  • $mode: Chế độ tải tệp, có thể là FTP_ASCII hoặc FTP_BINARY.
  • $resume_pos: Vị trí bắt đầu tải lên (nếu bạn muốn tiếp tục từ một vị trí cụ thể). Tham số này là tùy chọn và mặc định là 0.

Trả về:

Hàm sẽ trả về một trong ba giá trị:

  • FTP_MOREDATA: Nếu quá trình tải lên vẫn còn tiếp tục.
  • FTP_FINISHED: Nếu quá trình tải lên đã hoàn tất.
  • FALSE: Nếu có lỗi xảy ra.

Ví dụ sử dụng


// Kết nối và đăng nhập vào máy chủ FTP
$ftp_server = "ftp.example.com";
$ftp_user = "username";
$ftp_pass = "password";

$ftp_stream = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
ftp_login($ftp_stream, $ftp_user, $ftp_pass);

// Tải tệp lên không đồng bộ
$remote_file = "remote_file.txt";
$local_file = "local_file.txt";
$mode = FTP_ASCII;

$result = ftp_nb_fput($ftp_stream, $remote_file, $local_file, $mode);

while ($result == FTP_MOREDATA) {
    // Thực hiện các tác vụ khác nếu cần
    // Tiếp tục tải lên
    $result = ftp_nb_continue($ftp_stream);
}

// Kiểm tra kết quả cuối cùng
if ($result == FTP_FINISHED) {
    echo "Tải lên hoàn tất!";
} else {
    echo "Có lỗi xảy ra!";
}

// Đóng kết nối
ftp_close($ftp_stream);

Những lưu ý

  • Đảm bảo rằng bạn đã mở kết nối FTP trước khi sử dụng hàm này.
  • Thao tác này sử dụng kết nối không đồng bộ; do đó, bạn có thể thực hiện các công việc khác trong khi tải lên.
  • Luôn kiểm tra xem có lỗi khi thực hiện các thao tác trên FTP.