• ベストアンサー

PHPのfsockopenを使用してファイルのアップロード方法

PHPのfsockopenを使用してファイルのアップロード方法 宜しくお願い致します。 PHPでHTTPポートなどに接続させて、POSTやGETでデータを送信できるようにする関数のfsockopenを使用して、HTMLのformを使用せずにPHPプログラムのみでサーバ上にあるファイルを別のサーバへアップロードする方法はありませんか? 文字列を送信する事はできるので、ファイルのアップもできそうなのですが、やり方がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
noname#243182
noname#243182
回答No.2

同じく PEAR ライブラリの中から該当箇所を抜き出します。 ファイルの追加 http://pear.php.net/package/HTTP_Request/docs/latest/__filesource/fsource_HTTP_Request__HTTP_Request-1.4.4Request.php.html#a600 リクエストの組み立て http://pear.php.net/package/HTTP_Request/docs/latest/__filesource/fsource_HTTP_Request__HTTP_Request-1.4.4Request.php.html#a912 このリクエスト組み立て手順を経て生成されたデータが結局のところソケットライブラリで処理されるようになっています。 「multipart/form-data RFC」などで検索されることにより、処理内容の根拠が示されるはずです。 必要な拡張モジュールがインストールされている場合、ほかの方法もあるようです。 http://jp.php.net/manual/ja/book.http.php PEAR の利用に当たり管理者権限は不要ですので、拡張モジュールを必要としないものであればダウンロードしたファイルを適当な場所に展開し、スクリプトから読み込むだけです。 依存関係を解決するにはマネージャをインストールしたほうが良いのですが、これもユーザ権限でいけます。是非お試しください。

その他の回答 (1)

noname#243182
noname#243182
回答No.1

ソケットで云々せずともファイルのアップロードは出来そうです。

参考URL:
http://pear.php.net/manual/ja/package.http.http-client.http-client.post.php
nikuq
質問者

補足

ありがとうござます。 今のサーバにはPEARがインストールされていないので、この機能は使えません。 ソケットで送信する方法をお教えいただけますと助かります。

関連するQ&A