И так создаем на сервере файлик uploadScreenShot.php с таким содержанием:
<?php// Если upload файлаif(isset($_FILES["fileUpload"])){$myfile = $_FILES["fileUpload"]["tmp_name"]; //Имя файла на нашем сервере (во время запроса)$myfile_name = $_FILES["fileUpload"]["name"]; //Имя файла на компьютере пользователя$myfile_size = $_FILES["fileUpload"]["size"]; //MIME-тип файла$myfile_type = $_FILES["fileUpload"]["type"]; //Размер файла$error_flag = $_FILES["fileUpload"]["error"];// Если ошибок не былоif($error_flag == 0){// Получаем содержимое файла$fp = fopen($myfile,”r”) or die(“Can’t open file”);$content = fread($fp, filesize($myfile));fclose($fp);$fr = fopen($myfile_name, ‘w’) or die(“Can’t open file”);fwrite($fr, $content);fclose($fr);echo “Finished Uploading Screenshot”;}}?><?php // Если upload файла if(isset($_FILES["fileUpload"])) { $myfile = $_FILES["fileUpload"]["tmp_name"]; //Имя файла на нашем сервере (во время запроса) $myfile_name = $_FILES["fileUpload"]["name"]; //Имя файла на компьютере пользователя $myfile_size = $_FILES["fileUpload"]["size"]; //MIME-тип файла $myfile_type = $_FILES["fileUpload"]["type"]; //Размер файла $error_flag = $_FILES["fileUpload"]["error"];
// Если ошибок не было if($error_flag == 0) { // Получаем содержимое файла $fp = fopen($myfile,”r”) or die(“Can’t open file”); $content = fread($fp, filesize($myfile)); fclose($fp); $fr = fopen($myfile_name, ‘w’) or die(“Can’t open file”); fwrite($fr, $content); fclose($fr); echo “Finished Uploading Screenshot”; } } ?>
Создаем скрипт ScreenShotUpload.cs с таким содержанием:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | using UnityEngine; using System.Collections; public class ScreenShotUpload : MonoBehaviour { public Texture2D tex; void Start() { UploadPNG("http://mysite.ru/uploadScreenShot.php", tex); } void UploadPNG(string url,Texture2D texture) { byte[] pngData; if (texture.format != TextureFormat.ARGB32 && texture.format != TextureFormat.RGB24) { Texture2D newTexture = new Texture2D(texture.width, texture.height); newTexture.SetPixels(texture.GetPixels(0), 0); texture = newTexture; } pngData = texture.EncodeToPNG(); if (pngData != null) { WWWForm form = new WWWForm(); form.AddBinaryData("fileUpload", pngData, "screenShotName.png", "image/png"); WWW www = new WWW(url, form); StartCoroutine(WaitForRequest(www)); } } IEnumerator WaitForRequest(WWW www) { yield return www; if (www.error != null) { Debug.Log("Ошибка: " + www.error); } else { Debug.Log(www.text); } } } |
Все!!! наши картинки теперь можно лить на сервер!!!
3 комментария на «Заливка Texture2D на сервер с помощью PHP»
Ваш отзыв
Вы должны войти, чтобы оставлять комментарии.
08 Окт 2011 в 15:04
< a href =…сэнкс за инфу …
23 Дек 2013 в 15:35
lewisohn@dora.progandist” rel=”nofollow”>.…
спс….
23 Авг 2014 в 19:12
edifice@mores.rudyard” rel=”nofollow”>.…
сэнкс за инфу!…