mixed Net_FTP::put (
string $local_file
,
string $remote_file
,
bool $overwrite = false
,
int $mode = null
)
スクリプトを動作させているコンピュータから、FTP サーバにファイルを アップロードします。
string $local_file
- アップロードしたいファイル名。
絶対パス、あるいはスクリプトのディレクトリからの相対パスで指定します
(注意:include を利用している場合、
スクリプトのディレクトリはインクルード元のファイルがある場所となります!)
string $remote_file
- アップロード先のパス(ファイル名を含む)。
絶対パス、あるいは相対パスで指定します
(ディレクトリ名ではありません!
Net_FTP::putRecursive() 参照)。
bool $overwrite = false
- リモートファイルが存在した場合に、それを上書きするかどうか。
指定しなかった場合、ファイルは上書きされません。
int $mode = null
- 定数 FTP_ASCII あるいは
FTP_BINARY のどちらかを指定しなければなりません。
指定されなかった場合、ファイルの拡張子から(extensions.ini によって)
モードを決定します。それにも失敗した場合は標準転送モード
(mode プロパティの値)が用いられます。
mixed
- 成功時には true 、それ以外は PEAR::Error
put から戻されるエラーにはいくつかの種類があります。 エラー番号は (現時点では)不定で、エラーメッセージについての情報は得られません。 発生する可能性のあるエラーは以下のとおりです。
エラーメッセージ | 説明 | 対処方法 |
---|---|---|
Local file '$local_file' does not exist. | 指定したローカルファイルは存在しません。 | ローカルファイルのパスを修正します。 |
Remote file '$remote_file' exists and may not be overwriten. | 指定した場所にはすでにファイルが存在しますが、上書きできません。 | おそらくファイルを上書きする権限がないのでしょう。 ファイルのパーミッションを確認してください。 |
File '$local_file' could not be uploaded to '$remote_file'. | ローカルファイルのアップロードに失敗しました。 | いくつかの原因が考えられます:ローカルファイルが存在しない、 アップロード先リモートディレクトリが存在しない、あるいは リモートディレクトリへの書き込み権限がないなど。 |
This function can not be called statically.
put() の使用法
<?php
var_dump($test->put('/tmp/downloaded.zip', 'foo/bar.zip', true, FTP_BINARY));
?>