iアプリ携帯で撮影した画像をサーバーにアップロードし、
アップロードした画像をPHPでサーバーに保存したいと考えています
自分なりにネットや書籍を調べたのですが
・iアプリで画像をアップロードしcgiをつかってサーバーに保存
・HTMLで画像をアップロードし、 PHPをつかってサーバーに保存
は情報(サンプルコード)はあるのですが、
iアプリ→PHPの方法(コーディング)がわかりません
特に、PHPがアップロードした画像データを取得する方法が
わかりません
HTMLからPHPを呼んだ場合は「$_FILES」を使用するのですがiアプリの場合はどう実現したらいいのでしょうか?
ご存知の方がいらっしゃいましたら是非お願いいたします
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ちょっと調べてみました。
こちらのブログに、javaアプレットでファイルのアップロードの実装の仕方が書いてありました。
後は、iアプリでソレを行うためのクラスが利用可能であれば出来るようです。
この回答への補足
hogehoge78様
回答ありがとうございます
iアプリで行うためのクラスを調査中です
結果が出てからお返事をしようと思っていたのですがまだ見つからず
お返事が遅くなってすみません
改めて結果を書き込みます
No.3
- 回答日時:
iアプリで実装するにしても、なんにしても、ファイルをPOSTして、そのPOSTされたデータをPHPで受信するのであれば、Webサーバに対して、HTTPプロトコルでデータを送信しなければなりません。
例えば、普通のフォームで、単純にINPUTタグに記述された内容を送信した場合も、HTTP通信してますが、その場合は、
=============================================================
POST /php/path HTTP1.0
Host: www.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 47
input_name=input_value&input_name2=input_value2
=============================================================
このようなHTTPヘッダ(とPOSTされた内容)をWebサーバに送信してやり、PHPでその結果を受信し、$_POSTにデータを格納してます。
そして本題のファイルのアップロードに関しては
=============================================================
POST /php/path HTTP1.0
Host: www.example.com
Content-Type: multipart/form-data
Conent-Length: ファイルの長さ
-----------------------------boundary
Content-Disposition: form-data; name="test"; filename="ファイルの名前"
Content-Type: ファイルタイプ
コンテンツの内容(つまり画像だったら画像のバイナリが記述される)
-----------------------------boundary--
=============================================================
このようなHTTPヘッダを記述してやる必要があります。
iアプリで行う場合でも、HTTP通信を行うためのメソッドなりクラスなりライブラリを利用して、上記のような生のHTTPヘッダを記述し、送信するような流れになると思います。
もし、iアプリにこだわっておらず、簡単に済ませる場合は、添付ファイル付のメールでサーバに送信して、PHPで処理するという方向ではどうでしょう。つまり携帯電話の空メールで登録するという処理と近い処理で出来るので割かし簡単だと思います。
http://hal456.net/qdmail_rec/&category?cat=%E6%9 …
このようなライブラリもあります。
この回答への補足
hogehoge78様
回答ありがとうございます
HTTPヘッダの編集方法について質問です
Content-Typeについては「setRequestProperty」で設定できるのですが、Content-Dispositionをどのように設定するのかを調べたのですがわかりませんでした
またHTMLは、
<form action="file_upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="upfile"><br>
<input type="submit" name="submit" value="SEND">
</form>
と記述した場合、$_FILES['upfile']['name']にアップロードしたファイル名が格納されると思いますが、iアプリからHTTP通信をした場合はどのように、ファイル名を取得するのでしょうか?
今回はiアプリを前提としています
残念ながらメールでのアップロードは使えないのですが
今後他の機会があれば参考にさせていただきたいと思います
No.2
- 回答日時:
#1です。
Sourceがありました。
ちょっと古いですが、送受信の所は参考になると思います。
http://www.nakka.com/i/npop/
inpop.cgiがサーバ側で動くものです。
バイナリというかデータを送受信するときに、何をやろうとするのかなどのコマンド交換が必要なケースがありますよね。
ところが、データなのかコマンドなのかの判断がしにくいために特定の文字列の連続がコマンドに解釈されて不具合を起こす場合があります。
上記のSourceでも特定の文字は送れないようです。
なので、何らかのコードにエンコードするなどちょっと工夫が必要になるかと思います。
この回答への補足
MOMON12345様
回答ありがとうございます
サンプルソースありがとうございます
たびたび申し訳ありませんが、質問です
基本的にcgiでもPHPでもiアプリ側のコーディングに関しては同じ様に考えてOKということでしょうか?
No.1
- 回答日時:
iアプリからはHTTPの通信しかできませんので、フォームを使ったPOSTを行うことになります。
バイナリを通せるように工夫するか、データの方を加工するかも必要でしょう。
httpdサーバ側は普通にブラウザからPOSTされたデータを読むようにすればOKです。
なおiアプリは、そのアプリをダウンロードしたサーバでかつ名前(FQDN)が付いているものとしか通信が出来ません。
MOMON12345様
早速の回答ありがとうございます
私の知識不足のため、何点か質問させてください
>フォームを使ったPOSTを行うことになります。
「フォームを使ったPOST」の実現方法を教えていただけますか?
HTMLの場合FORMタグを使用するはわかるのですが
iアプリではどのようにするのでしょうか?
(CanvasやPanelにフォームを埋め込む?
iアプリにHTMLが書き込める?等々)
>バイナリを通せるように工夫するか、
大変申し訳ありませんが、バイナリを「通す」の意味が難しいです
>データの方を加工するかも必要でしょう。
cgiをつかったサンプルプログラムで画像データを出力ストリームにセットしていたのですが、そのような処理の事でしょうか?
質問の文章が稚拙で分かりづらいかもしれませんが、よろしくお願いいたします
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript clear機能を失わずにファイルアップロード機能を作成したい 3 2023/06/10 16:12
- サーバー Laravelをレンタルサーバーにインストールするにはどうすればいいですか? 2 2022/06/29 10:17
- Android(アンドロイド) Googleフォト 1 2022/03/25 07:38
- PHP PHP MySql 画像を取得 1 2022/06/04 14:05
- Google Drive 写真の更新日時について 1 2023/05/09 02:40
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- 事件・犯罪 無修正動画をアップロードした時の処罰は? 撮影罪が新設され今夏から状況がわかりそうなのですが、 下記 2 2023/06/21 16:23
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- PHP 'member_picture/'に/がありますが 、「スラッシュ」は必要でしょうか? 1 2022/11/27 04:32
- YouTube ユーチューブへの動画投稿にサムネイルを付ける方法は? 1 2022/07/21 23:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
one drive のアップロード失敗...
-
PHP_アップロード
-
ファイルのアップロード
-
pixivのイラスト投稿の仕方を教...
-
ファイルアップロードしたもの...
-
ファイルアップロードの上限を...
-
unlinkでどうしてもファイルが...
-
携帯からファイルアップロード...
-
こちらはただの直列処理ですか?
-
ワードプレス、Contact Form 7...
-
拡張子php画像をjpg画像等に変...
-
PHPとCSVで簡易データベースな...
-
include先でのinclude元の変数...
-
リダイレクト元のURLの取得方法...
-
メールフォームのタイトルが文...
-
php エラー
-
PHPのif文でその処理を途中で抜...
-
VBでメールを送る時のSMT...
-
別PHPファイルに変数を渡す
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルアップロードの上限を...
-
youtubeに音声のみのmp4ファイ...
-
one drive のアップロード失敗...
-
FTPClientで転送結果(OKかFAIL)
-
VBでクラウドストレージにア...
-
ftpでアップロードが出来ない
-
アップロードできるファイルサ...
-
ファイルをGET送信でアップロー...
-
FTP接続の例外処理
-
「クラウドにアップロード」」...
-
PHP 画像アップロード 重複防止
-
aws cloud9というものを使って...
-
ファイルサイズがpost_max_size...
-
ファイルアップロードしたもの...
-
csvファイルをMySQLにインポー...
-
全角ファイル名をアップロード...
-
ファイルのアップロードで、フ...
-
携帯からファイルアップロード...
-
SmartyでHTMLソースの変更が反...
おすすめ情報