PHPコーディング

ソケットをオープンしてファイル操作をする(put)

2010年02月09日
今回はファイルのアップロード(put)です。

get同様ftpサーバーへログインした接続とは別の接続をオープンして行います。

ローカルファイルの内容を読み込みます
$local = @fopen($localfile, "r");
ファイル内容を全て読み込んでおきます
$write = @fread($local, 100000);

@fclose($local);

ファイル転送モードを指定します。
バイナリならば、【I】、アスキーなら【A】です。
@fputs($sock, "TYPE I
");
$result = @fgets($sock, 512);

パッシブモードをオンにします。
@fputs($sock, "PASV
");
$result = @fgets($sock, 512);

データ用の接続をオープンします。
ポートの計算方法は、ソケットをオープンしてファイル操作をする(get)を参照してください。
$ftp = @fsockopen($ftp_server, $data_port);

リモートにファイルを作成します。
@fputs($sock, "STOR ".$remotefile."
");
$result = @fgets($sock, 512);
成功すれば【150 ・・・】と返ってきます。

リモートにファイルを書き込みます。
$result = @fwrite($ftp, $write);

ファイルサイズを照合をする場合、【fwrite】の戻り値とstrlen($write)をチェックすればOKです。

get同様、バックアップ機能を備えれば安心です。
コメントの書き込み
コメント
2018年07月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
先月
来月
カテゴリ
検索
関連サイト
プロフィール
【ネットネーム】
みゅー

キャラクター by ツカエルサイト


【趣味】
・プログラミング
・写真
・楽器演奏
・手芸
・日曜大工
・家の中の不便を便利に
・考える
・自然科学
・猫と戯れる
・ジグソーパズル

【仕事】
・派遣社員でSE・PGやっていました。次の良い仕事がみつからないので、ビジネスへ注力しようと思っています。
・経験言語:VB6、VB.NET、PHP、Perl、JAVA、Oracle、SQLServer、PostgreSQL



【名前】
アン(足)

2014年4月22日生まれ 女の子
あだ名は くノ一
普段は普通にしゃべりますが、興奮すると『ニャ』を連発します

【趣味】
・狩
・ご飯を食べる
・ママのお手伝い

【仕事】
ママのビジネスの看板招き猫
ママの代わりにPC入力
仕事中のママの右腕を温める
ママに心配をかける
いろんな事をしでかしてママを退屈させない

RSSフィード