我正在尝试使用file_get_contents()将图像转换为string_encode_Base64,但显示未找到文件
<?php
$conn = new mysqli("localhost","root","Smit@2452","restaurant");
$hotel = $_GET['hotel'].'menu';
$query="SELECT * FROM $hotel";
if(($result = $conn->query($query))==TRUE){
$product = array();
while($row = $result->fetch_assoc()){
$data= base64_encode(file_get_contents("Images\\".$row['image'].".jpg"));
echo $data;
$item = array(
"id" => $row['id'],
"name" => $row['Name'],
"price" => $row['Price'],
"description" => $row['Description'],
"img" => $data);
array_push($product , $item);
break;
}
echo "Images\\".$row['image'].".jpg";
echo "<image src='Images\\".$row['image'].".jpg'>";
//echo json_encode($product);
}
?>
但是在最后一行中,当我回显相同的路径时,它会显示图像
所以我该怎么办
您错过了部分代码。它将返回您想要的内容
<?php
$conn = new mysqli("localhost","root","Smit@2452","restaurant");
$hotel = $_GET['hotel'].'menu';
$query = "SELECT * FROM $hotel";
if (($result = $conn->query($query)) == TRUE) {
$product = array();
while ($row = $result->fetch_assoc()) {
$path = "Images\\" . $row['image'] . ".jpg";
//changed
$data = 'data:image/jpg;base64,' . base64_encode(file_get_contents($path));
echo $data;
$item = array(
"id" => $row['id'],
"name" => $row['Name'],
"price" => $row['Price'],
"description" => $row['Description'],
"img" => $data);
array_push($product, $item);
break;
}
echo "Images\\" . $row['image'] . ".jpg";
//echo "<image src='Images\\".$row['image'].".jpg'>";
echo '<image src="' . $data . '">';
echo '<image src="' . $path . '">';
//echo json_encode($product);
}