1

我一直在尝试制作一个可以上传大文件的系统,最初我使用的是 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了远程服务器上同一个文件夹中的图片。当我运行此代码时,脚本将文件从一个位置复制到另一个位置。

那么我将如何从本地计算机获取文件以发送到服务器?

提前致谢。

4

1 回答 1

3

使用它,您可以将文件从您的 PHP 服务器上传到您的 FTP 服务器,但实际上这似乎不是您的目标。

创建一个提交到这个 PHP 文件的上传表单。将此文件临时存储在您的服务器上,然后从那里上传到您的 FTP 服务器。

如果您的尝试确实有效,这将是一个主要的安全问题,因为 PHP 文件可以访问我本地计算机上的任何文件。

于 2013-07-29T11:39:33.177 回答