Вот класс, который извлекает строку из базы данных. База данных содержит URL, где находится файл изображения JPG. Этот класс находит URL из базы данных, кодирует изображение в строку base64 и возвращает строковое значение.
<?php
class GetImage {
private $conn;
function __construct() {
require_once 'include/db_connect.php';
$db = new DB_CONNECT();
$this->conn = $db->connect();
}
function __destruct() {
}
public function getEncodedImageByUid($uid) {
$query = $this->conn->query("SELECT profile_image FROM users WHERE unique_id = '$uid'");
while($row = mysqli_fetch_assoc($query)) {
$imageUrl = $row['profile_image'];
if(!empty($imageUrl)) {
$base64image = base64_encode(file_get_contents($imageUrl));
$result = $base64image;
} else {
$result = '';
}
}
return $result;
}
}
?>
Теперь в другом файле я создам экземпляр вышеупомянутого класса и получу строку. Вот часть кода.
require_once 'getimage.php';
$getImage = new GetImage();
$encodedImage = $getImage->getEncodedImageByUid($senderUid);
if(!strcmp($encodedImage, '')) {
$payload['encoded_image'] = $encodedImage;
} else {
$payload['encoded_image'] = '';
}
После запуска программы я получаю пустой результат со стороны клиента. Как мне исправить это?
Задача ещё не решена.
Других решений пока нет …