сохранять и записывать данные в файл через PHP на встроенной сборке WebGL? - PullRequest
0 голосов
/ 29 августа 2018

Я загружаю и встраиваю свою игру в онлайн-сайт и нашел онлайн-хостинга simmer.io для загрузки моей игры. Однако я хочу отправить данные игры через скрипт PHP, чтобы записать данные игры в локальный файл.

Я следовал этому руководству от Holistic3D при чтении и записи в текстовый файл из Unity WebGL (https://www.youtube.com/watch?v=4OZqY1Ukj8I)) и получил этот фрагмент кода, который предположительно взаимодействует с сервером PHP.

 public void saveScores()
 {
     StartCoroutine(sendTextToFile());
     SceneManager.LoadScene("Close prompt");
 }



 IEnumerator sendTextToFile()
 { bool successful = true;
     WWWForm form = new WWWForm();
     form.AddField("Name", participantID);
     form.AddField("MC_attempts", MC_attempts);
     form.AddField("MC_time_taken", MC_time);
     form.AddField("Ped_attempts", Ped_attempts);
     form.AddField("Ped_time_taken", Ped_time);
     form.AddField("Level_order", levelOrder);
     WWW www = new WWW("https://simmer.io/@Pancy/Pelmanism/sendfromunity.php", form);   //line51

     yield return www;
     if (www.error != null)
     {
         successful = false;
     }
     else
     {
         Debug.Log(www.text);
         successful = true;
     }
 }

и затем у меня есть этот PHP-код, который должен записать данные в текстовый файл:

<?php

 $Name =$_POST["Name"];
 $MC_attempts = $_POST["MC_attempts"];
 $MC_time = $_POST["MC_time_taken"];
 $Ped_attempts = $_POST["Ped_attempts"];
 $Ped_time = $_POST["Ped_time_taken"];
 $levelOrder = $_POST["Level_order"];



 if ($Name != "")
 {
     echo("Message successfully sent");
     echo("Field 1: " . $Name);
     echo("Field 6: " . $levelOrder);
     $file = fopen("webgl_data.txt", "a");
     fwrite($file, $Name." ".$MC_attempts." ".$MC_time." ".$Ped_attempts." ".$Ped_time." ".$levelOrder."\r\n");
     fclose($file);
 }
 else
 {
     echo("Message delivery failed");
 }

?>

Это работает, когда я заменяю веб-форму на http://localhost:8012/sendfromunity.php в строке 51, но после загрузки моей игры локальный URL-адрес хоста не работает. Я пытался изменить его на URL своей игры, но он все равно не работал.

Я знаю, что, возможно, допустил несколько глупых ошибок или даже неправильно понял весь урок; так что если бы кто-нибудь мог указать мне правильное направление, я был бы вечно благодарен!

...