簡體   English   中英

使用PHP和FTP將本地文件上載到遠程服務器

[英]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.

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