2010-02-18 27 views

Trả lời

2

Có nhiều cách để thực hiện việc này. Tôi muốn chọn ngày đầu tiên một bản thân mình bởi vì nó dễ dàng nhất để thiết lập:

  • Nếu bạn có PHP + Apache trên máy chủ khác, chỉ cần gọi một số kịch bản trên máy chủ khác sử dụng file_get_contents với http URL as filename hoặc sử dụng cURL nếu bạn cũng cần phải đăng nội dung tệp.
  • Nếu các máy chủ trong cùng một mạng (LAN, VPN), bạn có thể sử dụng chia sẻ Windows/Samba hoặc NFS để gắn kết một thư mục từ xa để bạn hệ thống tập tin địa phương và chỉ cần ghi ra tập tin trực tiếp sử dụng fopen chức năng/fwrite
  • sử dụng SSH qua SCP hoặc SFTP
0

Nói chung, FTP là cách duy nhất thường xuyên và dễ dàng có sẵn (bằng PHP) để tạo tệp trên máy chủ khác.

Có tất nhiên các giao thức khác cho phép bạn tạo một tập tin, nhưng tất cả đều yêu cầu cài đặt phần mềm trên một hoặc cả hai máy chủ:

  • Samba (sẽ cho phép truy cập vào các máy chủ từ xa thông qua một tuyệt đối đường dẫn tập tin)
  • WebDaV (PHP client thư viện có sẵn)
  • SCP (Tìm một client PHP có lẽ sẽ rất khó)

Nếu cả hai máy chủ chạy PHP, có thể dễ nhất để thiết lập một tập lệnh PHP trên máy chủ từ xa chấp nhận dữ liệu tệp tin POST, và ghi nó ra một tệp cục bộ. Không phải là một giải pháp hoàn hảo, tuy nhiên, do các giới hạn thường được áp dụng cho tải lên POST.

+0

Các downvote không phải là tôi, nhưng PHP không hỗ trợ SCP bằng cách sử dụng SSH - xem câu trả lời của tôi cho các liên kết. –

+0

@Andy tốt để biết, cổ vũ. –

+0

Nói chung, FTP không thực sự có sẵn ở khắp mọi nơi và đặt ra một lỗ hổng bảo mật rất lớn. Và tất cả các giải pháp khác mà bạn đề cập đều tốt hơn. Tôi cũng tự hỏi tại sao bạn nói rằng bài viết HTTP không phải là rất hiệu quả theo định hướng khi nó có ít nhất trên không của tất cả các giải pháp khác? –

1

PHP cho phép gửi tệp qua SSH - xem họ ssh2 *, cụ thể là ssh2_scp_sendssh2_scp_recv.

Tôi chưa bao giờ sử dụng chúng bản thân mình, nhưng cơ sở hạ tầng có trong Linux, giống như SMB trong Windows.

0

Bạn luôn có thể sử dụng DAV, nhưng nó có thể yêu cầu một số cấu hình trên máy chủ tiếp nhận. Ngoài ra còn có SSHFS, cho phép bạn dễ dàng gắn kết thư mục từ xa cục bộ qua đường hầm SSH hoặc chỉ sử dụng họ ssh2_ * là Andy Shellam suggested.

Thực sự, có rất nhiều cách để thực hiện việc này.

Các vấn đề liên quan