Я ищу загрузить и вставить свою игру на веб-сайт, и нашел онлайн-хостинга 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: // локальный: 8012 / sendfromunity.php в строке 51, но после загрузки моей игры URL локального хоста не работает. Я пытался изменить его на URL своей игры, но он все равно не работал.
Я знаю, что, возможно, допустил несколько глупых ошибок или даже неправильно понял весь урок; так что если бы кто-нибудь мог указать мне правильное направление, я был бы вечно благодарен!
Задача ещё не решена.
Других решений пока нет …