Làm cách nào để tải tệp lên máy chủ từ xa bằng PHP?

Miễn là allow_url_fopen được bật trong php. ini, bạn có thể sử dụng URL HTTP và FTP với hầu hết các chức năng lấy tên tệp làm tham số. Ngoài ra, các URL có thể được sử dụng với các câu lệnh include, include_once, require và require_once [allow_url_include phải được bật cho các câu lệnh này]. Xem Giao thức được hỗ trợ và Trình bao bọc để biết thêm thông tin về các giao thức được hỗ trợ bởi PHP

Ví dụ: bạn có thể sử dụng điều này để mở tệp trên máy chủ web từ xa, phân tích cú pháp đầu ra cho dữ liệu bạn muốn, sau đó sử dụng dữ liệu đó trong truy vấn cơ sở dữ liệu hoặc đơn giản là xuất nó theo kiểu phù hợp với phần còn lại của trang web của bạn

Ví dụ #1 Lấy tiêu đề của một trang từ xa

$file = fopen ["//www.example.com/", "r"];
if [!$file] {
echo "

Unable to open remote file.\n";
exit;
}
while [!feof [$file]] {
$line = fgets [$file, 1024];
/* This only works if the title and its tags are on one line */
if [preg_match ["@\[.*]\@i", $line, $out]] {
$title = $out[1];
break;
}
}
fclose[$file];
?>

Bạn cũng có thể ghi vào tệp trên máy chủ FTP [miễn là bạn đã kết nối với tư cách người dùng có quyền truy cập chính xác]. Bạn chỉ có thể tạo tệp mới bằng phương pháp này;

Để kết nối với tư cách người dùng không phải là 'ẩn danh', bạn cần chỉ định tên người dùng [và có thể là mật khẩu] trong URL, chẳng hạn như 'ftp://user:password@ftp.example.com/path/to/file'. [Bạn có thể sử dụng cùng một loại cú pháp để truy cập tệp qua HTTP khi chúng yêu cầu xác thực Cơ bản. ]

Ví dụ #2 Lưu trữ dữ liệu trên máy chủ từ xa

$file = fopen ["ftp://ftp.example.com/incoming/outputfile", "w"];
if [!$file] {
echo "

Unable to open remote file for writing.\n";
exit;
}
/* Write the data here. */
fwrite [$file, $_SERVER['HTTP_USER_AGENT'] . "\n"];
fclose [$file];
?>

Ghi chú

Bạn có thể lấy ý tưởng từ ví dụ trên rằng bạn có thể sử dụng kỹ thuật này để ghi vào tệp nhật ký từ xa. Thật không may, điều đó sẽ không hoạt động vì cuộc gọi fopen[] sẽ thất bại nếu tệp từ xa đã tồn tại. Để thực hiện ghi nhật ký phân tán như vậy, bạn nên xem qua syslog[]

Trong hướng dẫn này, chúng ta sẽ tiếp tục loạt bài về PHP và tìm hiểu cách tải tệp bằng PHP lên máy chủ từ xa bằng biểu mẫu HTML đơn giản

Tải tệp lên bằng PHP

Bạn có thể tải lên bất kỳ loại tệp nào, chẳng hạn như hình ảnh, video, tệp ZIP, tài liệu MS Office, PDF, v.v.

Cách tạo biểu mẫu HTML để tải tệp lên

Dưới đây là một ví dụ về cách bạn có thể tạo một biểu mẫu HTML đơn giản có thể được sử dụng để tải tệp lên




    
    File Upload Form


    
        

File Upload

Filename:

Note: Only .jpg, .jpeg, .gif, .png formats allowed. Max size of 5 MB.

Cách xử lý tệp đã tải lên

Bây giờ hãy xem mã của “upload-manager. tập tin php”. Nó lưu trữ vĩnh viễn tệp đã tải lên trong một thư mục tải lên cũng như thực hiện một số kiểm tra bảo mật cơ bản như loại tệp và kích thước tệp để đảm bảo rằng người dùng tải lên đúng loại tệp và tệp đó nằm trong giới hạn kích thước

Bây giờ, hãy xem xét từng phần của mã ví dụ này để hiểu rõ hơn về quy trình này

Giải thích mã

Khi biểu mẫu được gửi, thông tin về tệp đã tải lên có thể được truy cập thông qua mảng siêu toàn cục PHP $_FILES. Ví dụ: biểu mẫu tải lên của bạn chứa trường chọn tệp có tên là ảnh [tên=”ảnh”], nếu người dùng tải tệp lên bằng cách sử dụng trường này, bạn có thể lấy thông tin chi tiết của tệp như tên, loại, kích thước, tên tạm thời hoặc bất kỳ lỗi nào xảy ra khi thử . Bạn có thể làm điều đó bằng cách sử dụng mảng kết hợp $_FILES[“photo”], như thế này

  • $_FILES["photo"]["name"] — Giá trị mảng này chỉ định tên gốc của tệp, bao gồm cả phần mở rộng của tệp. Nó không bao gồm đường dẫn tệp
  • $_FILES["photo"]["type"] — Giá trị mảng này chỉ định loại MIME của tệp
  • $_FILES["photo"]["size"] — Giá trị mảng này chỉ định kích thước tệp, tính bằng byte
  • $_FILES["photo"]["tmp_name"] — Giá trị mảng này chỉ định tên tạm thời bao gồm đường dẫn đầy đủ được gán cho tệp sau khi tệp được tải lên máy chủ
  • $_FILES["photo"]["error"] — Giá trị mảng này chỉ định lỗi hoặc mã trạng thái liên quan đến tệp tải lên, e. g. nó sẽ là 0, nếu không có lỗi

Mã PHP trong ví dụ tiếp theo sẽ chỉ hiển thị chi tiết của tệp đã tải lên và lưu trữ tệp đó trong một thư mục tạm thời trên máy chủ web

Khi tệp đã được tải lên thành công, nó sẽ tự động được lưu trữ trong một thư mục tạm thời trên máy chủ. Để lưu trữ tệp này vĩnh viễn, bạn cần di chuyển tệp từ thư mục tạm thời sang vị trí cố định bằng cách sử dụng hàm move_uploaded_file[] của PHP

Làm cách nào để tải tệp lên máy chủ bằng PHP?

Tải lên tệp PHP .
Định cấu hình "php. ini" Tập tin. Trước tiên, hãy đảm bảo rằng PHP được định cấu hình để cho phép tải tệp lên. .
Kiểm tra xem tệp đã tồn tại chưa. Bây giờ chúng ta có thể thêm một số hạn chế. .
Kích thước tệp giới hạn. Trường nhập tệp trong biểu mẫu HTML của chúng tôi ở trên được đặt tên là "fileToUpload". .
Loại tệp giới hạn. .
Hoàn thành tải lên tệp PHP Script

Làm cách nào để tải tệp lên bằng FTP trong PHP?

Hàm ftp_put[] là một hàm có sẵn trong PHP được sử dụng để tải tệp lên máy chủ FTP . Thông số. ftp_conn - ftp_conn là tham số bắt buộc và được sử dụng để chỉ định kết nối FTP. remote_file - remote_file là một tham số bắt buộc và nó được sử dụng để chỉ định đường dẫn tệp đến đường dẫn tải lên.

Làm cách nào để bao gồm tệp PHP từ máy chủ khác?

Sử dụng file_get_contents , để mở tệp, nối nó vào tệp thứ hai như vậy. $secondFile = file_get_contents['http. //www. vật mẫu. com/bao gồm cái này. php']; . Hơn chỉ làm một bao gồm trên tập tin của bạn.

Chủ Đề