2016-04-08 35 views
0

こんにちは私はUnityでアプリを作っていますが、ユーザーアクションを記録するコードを追加しようとしています。つまり、特定のゲームオブジェクトが表示されました。私は何をしようとしていることに基づいている私は、次のコードを持っているサーバーに保存されている.txtファイルへの書き込みである:Unityのサーバー上のテキストファイルに書き込む

http://answers.unity3d.com/questions/984290/upload-txt-file-to-server-using-php.html 

と、彼らはそれがファイルには何も書いていない私にとっては、それが動作示唆します。ここで

は私のPHPコード(SaveData.php)です:

<?php 
     $Action = $_GET["action"]; 
     $Date = date('Y/m/d H:i:s'); 

     $myFile = "TestingData.txt"; 
     $fh = fopen($myFile, 'a') or die("can't open file"); 
     fwrite($fh,$Action . "," . $Date . "\n"); 
     fclose($fh); 
?> 

そしてここでは、C#(SaveData.cs)である私は、インスペクターウィンドウにアクション値を変更するゲームオブジェクトに添付しています:

私がpost_urlの値をコピーしてブラウザで実行すると、問題なく動作しているようですが、誰かが間違っているとアドバイスできますか?

POST_URL出力:

http://arinstructionman.byethost7.com/SaveData.php?action=Plane+Visible 

すべてのヘルプははるかに高く評価されます。

+0

? –

+0

ファイルにコンテンツが追加されていないというエラーはありません – randomer

+0

私たちが見るためのDebug_Log変数をDebug.Logできますか? – Allen

答えて

0

これを$_GETの代わりに$_POSTで試してみて、別の応答があるかどうかを確認することをおすすめします。
また、file_put_contentsを使用すると、ファイルをすべて1行で開き、書き込み、閉じることができ、FILE_APPENDフラグを使用して既存のファイルを上書きしないようにすることができます。ファイルが存在しない場合は、ファイルも作成されます。

<?php 
    if(!isset($_POST["action"])) 
    { 
     echo ("NO DATA RECIEVED"); 
     return; 
    } 

    $action = $_POST["action"]; 
    $date = date('Y/m/d H:i:s'); 
    $data = "{$action},{$date}\n"; 
    $myFile = "TestingData.txt"; 

    if(file_put_contents($myFile, $data, FILE_APPEND)) 
     echo ("success"); 
    else 
     echo ("failed to write file); 
?> 

そしてPHPファイルにWWWformPOSTにデータを使用する:あなたが取得しているエラーが何であるかを

public string postDataURL = "http://arinstructionman.byethost7.com/SaveData.php"; 
public string Action = "some action"; 

void Start() 
{ 
    StartCoroutine(PostData(Action)); 
} 

IEnumerator PostData(string action) 
{ 
    WWWForm form = new WWWForm(); 
    form.AddField("action", action); 
    WWW dataPost = new WWW(postDataURL, form); 

    yield return dataPost; 

    if (dataPost.error != null) 
     print("There was an error saving data: " + data_post.error); 
    else 
     print(dataPost.text); 
} 
関連する問題