【发布时间】:2013-07-29 11:34:12
【问题描述】:
我一直在尝试制作一个可以上传大文件的系统,最初我使用的是 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,然后把图片放到远程服务器的同一个文件夹里。当我运行此代码时,脚本将文件从一个位置复制到另一个位置。
那么我将如何从本地机器获取文件并发送到服务器?
提前致谢。
【问题讨论】: