Php file_get_content无法获取本地图像

问题描述 投票:0回答:1

我正在尝试使用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 file-get-contents
1个回答
0
投票

您错过了部分代码。它将返回您想要的内容

<?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);
}
© www.soinside.com 2019 - 2024. All rights reserved.