簡體   English   中英

將文件從一台服務器復制到 php 中的另一台服務器

[英]Copy file from one server to another server in php

我正在嘗試使用 php 將文件(docx、pdf)從一台服務器(源)復制到另一台服務器(目標)。 下面是我的代碼。

//Copy attachment 
$fromdir = 'https://website.com/attachments/resume.docx';
$newFileFullPath = '/path_to_dir/resume.docx';

echo $fromdir." ^ ".$newFileFullPath;

if(copy($fromdir, $newFileFullPath)){
    echo "Success";
}else{
    echo "Error : File not uploaded to remote server.";
}

當我從目標服務器運行上述內容時,它會拋出以下消息:

Warning: copy(https://website.com/attachments/resume.docx): failed to open stream: HTTP request failed! in /home/public_html/test1.php on line 13
Error : File not uploaded to remote server.

我在服務器中啟用了“allow_url_fopen”和“allow_url_include”。 但是文件沒有被復制。

我該如何解決這個問題?

提前致謝

copy() function 只能在本地機器上復制文件。

理論上,您可以在服務器上掛載網絡驅動器,然后使用copy() (以掛載的網絡驅動器作為目標),但更直接的方法是使用允許復制文件的協議,例如 SSH/SCP 或 FTP。

對於通過 SCP 進行復制, ssh2 PECL 擴展中有一個 function ssh2_scp_send()

對於 FTP,可以使用內置的 function ftp_put()

這兩個函數的示例代碼都在鏈接的文檔中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM