私は大きなファイルをアップロードできるシステムを作ろうとしてきました。もともと 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
し、リモートサーバーの同じフォルダーにある画像を変更しました。このコードを実行すると、スクリプトはファイルをある場所から別の場所にコピーしました。
では、ローカル マシンからサーバーにファイルを送信するにはどうすればよいでしょうか。
前もって感謝します。