如何使用PHP將鏈接上的遠程文件(例如http://site.com/file.zip
)上載到FTP服務器?我想上傳'Vanilla論壇軟件'到服務器,我的移動數據運營商收取高價,所以如果我可以上傳文件而不必從移動設備上傳它,我可以省錢並完成工作。使用PHP將文件從遠程服務器上傳到FTP服務器
4
A
回答
4
製造將此功能:
function downloadfile($file, $path) {
if(isset($file) && isset($path)) {
$fc = implode('', file($file));
$fp = explode('/', $file);
$fn = $fp[count($fp) - 1];
if(file_exists($path . $fn)) {
$Files = fopen($path . $fn, 'w');
} else {
$Files = fopen($path . $fn, 'x+');
}
$Writes = fwrite($Files, $fc);
if ($Writes != 0){
echo 'Saved at ' . $path . $fn . '.';
fclose($Files);
}
else{
echo 'Error.';
}
}
}
你可以使用這樣的:
downloadfile("http://www.webforless.dk/logo.png","folder/");
希望它工作得很好,記得CHMOD目標文件夾777.(如果您需要將其上傳到另一個FTP服務器,則可以使用其他評論中發佈的FTP腳本之一s))
此致敬禮。 Jonas
+0
對不起,我的英語和我遲到的回覆。我的意思是將文件www.example.com/ file.zip直接下載到ftp.somesite.com,而無需將ww.example.com/ file.zip下載到我的存儲空間,然後將其上傳到ftp.somesite.com。感謝你的回覆 –
1
像這樣的事情
$con=ftp_connect("ftp.yourdomain.com");
$login_result = ftp_login($con, "username", "password");
// check connection
if ($conn_id && $login_result) {
// Upload
$upload = ftp_put($con, 'public_html/'.$name, "LOCAL PATH", FTP_BINARY);
if ($upload) {
// UPLOAD SUCCESS
}
}
1
A)通過URL下載文件:
$destination = fopen("tmp/myfile.ext","w");
//Myfile.ext is an example you should probably define the filename with the url.
$source = fopen($url,"r");
while (!feof($source)) {
fwrite($destination,fread($source, 8192));
}
fclose($source);
fclose($destination);
B)上傳FTP上的文件:
$file = 'tmp/myfile.ext';
$fp = fopen($file, 'r');
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_fput($conn_id, $file, $fp, FTP_ASCII)) {
echo "UPLOAD OK";
} else {
echo "ERROR";
}
ftp_close($conn_id);
fclose($fp);
This只是一個簡單的例子,這個代碼可能有很多改進,但主要思想在這裏。
注意:如果您有專用服務器,則可能通過調用wget下載文件可能更快更容易。
FTP的更多信息,可以發現in the doc
0
在目標服務器上的Web可訪問的文件夾中創建一個php腳本,更改$ remotefile和$ localfile的值,將瀏覽器指向腳本url並將文件拉出。
<?php
$remotefile="http://sourceserver.com/myarchive.zip";
$localfile="imported_archive.zip";
if(!copy($remotefile, $localfile)) {
echo("Transfer Failed: $remotefile to $localfile");
}
?>
1
簡單:
copy('ftp://user:[email protected]/file.txt', 'ftp://user:[email protected]/file.txt');
PHP的服務器會消耗帶寬,上傳和下載同步。
相關問題
- 1. 上傳多個文件到遠程FTP服務器使用PHP
- 2. 獲取日期從文件上傳到遠程FTP服務器
- 3. 使用php curl將zip文件上傳到遠程服務器
- 4. 使用PHP將多個文件上傳到遠程服務器?
- 5. 服務器上傳文件到遠程服務器使用PHP捲曲
- 6. Java上傳文件到遠程Linux服務器WITHOUT FTP或SCP
- 7. 無法上傳文件到遠程FTP服務器
- 8. c#上傳文件到FTP服務器
- 9. 上傳文件到FTP服務器
- 10. ASP.Net文件上傳到FTP服務器
- 11. 上傳.txt文件到FTP服務器
- 12. 空文件上傳到FTP服務器
- 13. 上傳文件到FTP服務器
- 14. 遠程服務器FTP的PHP腳本服務器到服務器
- 15. 上傳到FTP服務器
- 16. 將文件上傳到遠程服務器(PHP)
- 17. 如何將java服務器上傳到遠程服務器?
- 18. 使用ajax將文件上傳到遠程服務器
- 19. 使用WCF將文件上傳到遠程服務器
- 20. 使用curl將URL文件上傳到遠程服務器
- 21. 使用ASP.Net(VB)將文件上傳到遠程服務器1.1
- 22. SLOVED - FTP Api? PHP服務器到服務器上傳
- 23. 上傳文件到服務器使用FTP在PHP
- 24. 無法上傳文件到FTP服務器使用PHP
- 25. 從我的本地服務器獲取文件並使用php將其上傳到遠程服務器
- 26. cURL將文件上傳到代理服務器後面的遠程服務器
- 27. 上傳文件遠程服務器
- 28. 使用cakephp將文件上傳到FTP服務器?
- 29. 使用Indy將文件上傳到FTP服務器
- 30. 使用SSIS將文件從FTP傳輸到服務器
文件大是爲了讓'file_get_contents('http://site.com/file.zip')'無用嗎?我認爲你問題中的措辭有點扭曲。我的猜測是你可以訪問你的主機,你想上傳遠程文件。 – Shef