我的数据库中有 4 张图像,我想统一显示所有 4 张图像。我正在做的是我在 php 中使用 base64_encode 函数将我的图像显示为浏览器中的字符串,然后统一将该字符串转换为图像,但问题是它将所有 4 个图像的字符串视为 1 个且仅显示第一个。
我试过
在 php 中分隔字符串,但 unity 无法理解换行,我不知道如何分隔它们。一旦它们分开 ik 我可以制作一个字符串数组并将它们保存在其中。
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbName = "picture";
//Make connection
$conn = new mysqli($servername, $username, $password, $dbName);
//Check connection
if(!$conn)
{
die("Connection failed.". mysqli_connect_error());
}
//
//else echo("Connection success") . "<br>";;
$sql = "SELECT * FROM images";
$result = mysqli_query($conn, $sql);
if(mysqli_num_rows($result) > 0)
{
//show data for each row
while($row = mysqli_fetch_assoc($result))
{
//echo '<img src="data:image/jpeg;base64,'.base64_encode($row['pics']).'"/>';
echo "".base64_encode($row['pics']);
}
}
?>
private string imageString = "";
private void Start()
{
StartCoroutine(GetImage());
}
IEnumerator GetImage()
{
WWWForm imageForm = new WWWForm();
WWW wwwImage = new WWW("http://localhost/Insert_Images/index.php");
yield return wwwImage;
imageString = (wwwImage.text);
}
private void OnGUI()
{
byte[] Bytes = System.Convert.FromBase64String(imageString);
Texture2D texture = new Texture2D(1, 1);
texture.LoadImage(Bytes);
GUI.DrawTexture(new Rect(200, 20, 440, 400), texture, ScaleMode.ScaleToFit, true, 1f);
}
结果应该是 4 张单独的图像,但它只显示了一张。
眼眸繁星