フォームのフィールドのタイプとして「<input type="text"~」や「<input type="file"~」をあわせてPOSTする必要があります。
また、cURL以外の関数を利用するものでもかまいません。
http://www.phppro.jp/qa/detail.php?id=306
こちらに同様の質問と回答がありました。
とあるサイトを作成しているのですが、その中でユーザー側で画像をアップロードしてそれを公開できるように(mixiの写真アップロードのようなもの)したいのですが、プログラム作成の手順で行き詰ってしまいました。
どなたか簡単な流れでもかまいませんのでお分かりになる方がいらっしゃいましたら教えていただけませんでしょうか?
POST処理の方法はわかっていますか?
基本的なヒントですが、アップロード処理はコンテンツタイプmultipart/form-dataで行います。
リクエストの形式としては
POST /upload.php / HTTP/1.1
Content-Type: multipart/form-data; boundary=boundarymark
~略~
Content-Disposition: form-data; name="image"; filename="test.jpg"
Content-Type: application/octet-stream; name="test.jpg"
Content-Transfer-Encoding: base64
~Base64エンコードしたデータ~
こんな感じでわかりますか?
回答ありがとうございます。
生のリクエスト書いてPOSTしたことはあります。ちょっと面倒なのでcURL等の関数で楽ができないかなーと思ってました。
(cURLだとCookieのセッションも管理してくれるようなので、ログインが必要なサーバへのPOSTも楽できそうなのです)
回答ありがとうございます。
が、やりたいことが逆です。
アップローダー(サーバ側)を作りたいのではなくてアップローダーにアップロードするクライアント側(とってもサーバー上で実行するのですが)を作りたいと考えています。