• ベストアンサー

PHPで外部からのデータを受け取る

PHP初心者です。 Androidから音声データを送りPHPを使ってサーバ側で受け取りたのですが、どのように受け取ればいいのかわかりません。 わかる方がいましたらご教授お願いいたします。

  • PHP
  • 回答数1
  • ありがとう数9

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

  • ベストアンサー
noname#244856
noname#244856
回答No.1

Webフォームからアップロードさせるのが一番ラクです。マニュアルに例が記載されています。 http://php.net/manual/ja/features.file-upload.post-method.php しかし、マニュアルゆえに必要最小限のコーディングしか行っておらず、実際にこのままWebサービスとして公開するのにはリスクが伴うため、例外処理をキッチリ行うことが要求されます。画像の場合だと下記の例が参考になると思います。 ファイルアップロード処理の正しい手順 http://qiita.com/mpyw/items/939964377766a54d4682 http://qiita.com/mpyw/items/73ee77a9535cc65eff1e 音声だとgetimagesize関数では対応できないので、finfo::fileメソッド1択になります。以下に具体的ステップを掲載します。ファイル送信に使用するPOSTキーは「file」と仮定します。 (1) isset($_FILES['file']) でそのFILES変数が存在するかチェック。 (2) !is_array($_FILES['file']['error']) で配列になっていないかチェック。 (3) $_FILES['file']['error'] === UPLOAD_ERR_OK でアップロードが成功しているかチェック。ここで可能であればどのエラーが起こったのかも調べたほうがいい。(例えばファイルを選択せずに送信すればUPLOAD_ERR_NO_FILE) (5) $finfo = new finfo(FILEINFO_MIME_TYPE); $mime = $finfo->file($_FILES['file']['tmp_name']); で$mimeが期待する音声フォーマットのMIMEタイプになっているかどうかチェック。 (6) move_uploaded_file関数を実行して保存するディレクトリにテンポラリファイルを移動させる。 ここではWebフォームから送信する例について触れましたが、もちろんAndroidアプリから直接送信することも可能です。HTTPリクエストをmultipart/form-data形式で送信するだけです。この辺りは開発言語側でライブラリ等が実装されていると思うので、それを利用してください。

php_php
質問者

お礼

詳しく丁寧にありがとうございます。 参考にしながら頑張ってみます。

関連するQ&A

  • phpで外部プログラムを動かす

    初心者です。基礎的なことですが教えてください。 C言語で書いたプログラムをWebサービスで使いたいと思っています。 C単体でのプログラムをサーバ側で動かしますが、Webと連動させ、Web上のフォーマット から入力した情報をphpで経由し、サーバ側のCプログラムで処理する為に、データを渡し 起動し、結果をまたWeb上に返します。 その場合の phpでデータをCに渡し、プログラムを起動して、結果をCから貰い、Web上に 返すためのやり方を教えて下さい。どんなコーディング、関数になるのでしょうか。 またWebサーバの場合はCのコンパイラは通常どんなコンパイラを使用すれば良いの でしょうか。どんなレンタルサーバ会社でも問題ないのでしょうか。 初心者なので、よろしくお願いします

    • 締切済み
    • PHP
  • phpによるflashにデータを読み込む

    お世話になっております。 現在、MySQLのデータをFlashにで表示させたいですが、なかなか うまく行きません。(MySQL -> PHP ->flash) どなたか、ご教授よろしくお願いします。 http://oshiete1.goo.ne.jp/qa5664918.html こちらの php ファイルで表示されるデータをflashに読み込ませて flashに表示させたいです。 flashに書いたアクションスクリプトは http://oshiete1.goo.ne.jp/qa5673292.html にあります。 php側はブラウザで打つとちゃんとデータが出力されます。問題としては、flash側のアクションスクリプトの問題だと思いますが、、、 実際どのカテゴリー投稿したらいいか困って、両方出します。 ぜひ、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • javascriptからPHPに変数を渡したい

    Javascriptで制御しているクライアントのページと PHPで制御しているサーバ側のページがあります。 クライアント側のページで生成したJavascriptの変数の値を サーバ側のページに送りPHPで処理したいと考えています。 どのようにすれば変数の値を送ることが出来るでしょうか? 出来ればフォームを使わずに内部処理で行いたですが、 出来なければフォームでも構わないのです。 簡単で構わないので例文を頂けると非常に助かります。 まったくの初心者で恐縮ですが、教授よろしくお願いします。

  • 外部からPHPが見られません。

    LANで接続した別のPCからPHPが表示されません。 通常のHTMLの表示はされるので、apacheは走っていると思います。つまり http://サーバIP と http://サーバIP/phpMyAdmin の部分はきちんと表示されるのですが, http://サーバIP/phpMyAdmin/index.php が表示されません。 環境は RedHat8.0 , httpd-2.0.52 , mysql-4.0.21 php-4.3.9 ,phpMyAdmin-2.5.3-php , vsftpd です。どうぞ宜しくお願いします。

  • PHPからデータをFlash(swf)に送りたいのですが

    PHPに下記のように記述し、データを ActionScript で作成したフラッシュのtarget.swfファイルに送ろうとしています。 データがtarget.swfファイルに渡らなくて困っています。教えていただけないでしょうか。 PHP側: $data="sample";********渡したいデータです。***** print" <object-----swfファイル 中略 <parameter name=\"movie\" value=\"target.swf\" ?sendData=$data> 中略 "; swfファイル側: test.text=sendData;*****渡したデータを読み出すものです。***** 環境は、連絡サーバのPHP5とActionScript2を使用しています。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 外部サーバーのPHPは使えますか?

    PHP初心者です。 例えば、 aaaa.com に置いてあるPHPファイルにある自作関数(function)を bbb.com で読み込んで利用することは可能でしょうか??? 具体的な例題がなくて恐縮ですが、 なにか方法がありましたらご教授いただきたいです。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHPで外部サーバーのデータベースにアクセスは可能でしょうか?

    PHPで外部サーバーのデータベースにアクセスは可能でしょうか? データ量が多すぎて複数のデータベースに分けております。 またサーバーも変える必要があるためサーバーも複数に分けております。 サーバー1にデータベース1 サーバー2にデータベース2 サーバー3にデータベース3 がある状態で、サーバー4からPHPプログラムでデータベースにアクセスして、サーバー4に設置してあるホームページにデータを表示するプログラムを作りたい。 このような事が出来るのでしょうか? PHPプログラムが置いてある同一サーバー上のデータベースへのアクセスは出来たのですが、外部サーバーへのアクセスの仕方が解りません。。。 サーバーはXrea、さくらインターネットを使用しています。 PHPとMySQLを使用。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • CGIからPHPへデータを渡したい

    初心者ですが、質問させていただきます。 CGIからデータをPHPに移動させるにはどうしたらよいでしょうか? たとえば CGIで $data = 'data2'; と記入し、この data2 をPHPで出力したいのです。 どうか、回答お願いします。

    • 締切済み
    • PHP
  • Androidアプリで外部データベースからデータ…

    こんにちは Androidアプリを勉強しながら作成しています。 今までPHPとMySQLをやっていたのですが、JAVA初体験でわからない事が沢山あり専門書を見たりネットで検索したりしております。 今回の質問はAndroidアプリ側で『hogehoge』と入力した場合、外部データベースへ飛んでその中から『hogehoge』に関連した情報を取得したいと思っているのですが、その手法がわかりません。 専門用語が羅列しているので、なかなか検索する事も出来ず困っております。 どのようにしたらデータ取得出来るのか教えてください。 また、参考になるサイトがございましたら、是非教えてください。 【質問内容】Androidアプリで外部(インターネット上)にあるデータベースからデータ取得したい なにぶん初心者なのでよろしくお願いいたします。

    • ベストアンサー
    • Java
  • 外部PHPファイルの読込みについて

    いつもお世話になります。 外部PHPファイルの読込みが、期待通りの動作をしません。 レンタルサーバ会社は、Aサーバ、Bサーバ 同じ。(条件同じ) allow_url_fopen は、defaultの ONです。 まずAサーバに、agent.phpをアップロード。agent.phpファイルの中身は、 <?php $agent =$agent = $_SERVER['HTTP_USER_AGENT']; ?> これを、Bサーバの、test.phpに読込み。test.phpの中身は、 <?php include("http://BサーバのURL/agent.php"); echo "<html><head><title>.....</title></head>\n"; echo "<body><p>UserAgent : " . $agent . "</p></body></html>\n"; ?> この場合、http://BサーバのURL/agent.phpを開いても、 UserAgent($agent)の値は出てきません。これは、どうしてでしょうか? 但し、Aサーバに、下記のPHPファイル(xyz.php)をアップロードして <?php echo "<p>あいうえお</p>\n"; ?> として、Bサーバのtest.phpの中身を <?php echo "<html><head><title>.....</title></head><body>\n"; include("http://BサーバのURL/xyz.php"); echo "</body></html>\n"; ?> として、test.phpを読み出すと、「あいうえお」と出力されます。 何故なのか、またどうしたら期待通り動作するのかを、教えて下さい。  よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう