[英]Uploading a local file to remote server with PHP and FTP
我一直在努力建立一個可以上傳大文件的系統,最初我使用的是HTTP,但是這個設置需要修改時遇到了很多問題。 所以我想我會用FTP來試試吧。
現在我在PHP中有一個ftp連接,它可以查找,我可以查看文件夾和文件以及制作目錄,我似乎無法弄清楚如何獲取本地文件並上傳它。
我一直在閱讀大量的信息和教程,如PHP手冊和我在nettuts上發現的教程但是我很難做到這一點。 教程說你可以上傳本地文件,但我必須遺漏一些東西。
這是我正在使用的上傳方法:
public function uploadFile ($fileFrom, $fileTo)
{
// *** Set the transfer mode
$asciiArray = array('txt', 'csv');
$extension = end(explode('.', $fileFrom));
if (in_array($extension, $asciiArray))
$mode = FTP_ASCII;
else
$mode = FTP_BINARY;
// *** Upload the file
$upload = ftp_put($this->connectionId, $fileTo, $fileFrom, $mode);
// *** Check upload status
if (!$upload) {
$this->logMessage('FTP upload has failed!');
return false;
} else {
$this->logMessage('Uploaded "' . $fileFrom . '" as "' . $fileTo);
return true;
}
}
嘗試上傳文件時我使用:
$fileFrom = 'c:\test_pic.jpg';
$fileTo = $dir . '/test_pic.jpg';
$ftpObj -> uploadFile($fileFrom, $fileTo);
我以為這會從我的機器中獲取存儲在c:中的文件並將其上傳到目的地但是它失敗了(不知道為什么)。 所以我改變了一點,改變了$fileFrom = test_pic.jpg
並將圖片放在遠程服務器上的同一個文件夾中。 當我運行此代碼時,腳本將文件從一個位置復制到另一個位置。
那么我如何將本地機器上的文件發送到服務器呢?
提前致謝。
使用此方法,您可以將PHP服務器上的文件上傳到FTP服務器,實際上並不是您的目標。
創建一個提交到此PHP文件的上載表單。 將此文件臨時存儲在您的服務器上,然后從那里將其上傳到您的FTP服務器。
如果您的嘗試確實有效,這將是一個主要的安全問題,因為PHP文件可以訪問我本地計算機上的任何文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.