Glr, é o seguinte, sei que geralmente o pessoal fala que não é bom usar banco de dados pra salvar uma imagem, seria melhor salvar só o dir do arquivo, mas mesmo assim gostaria de pelo menos conseguir fazer dar certo, tipo, eu conseguir salvar a imagem no Banco de Dados, mas não consigo visualizar a imagem, quando eu pego a imagem do banco ele volta como uma sequencia de caracteres que deve ser a criptografia. Então sempre fico em 2 resultados ou fica aquele icone de imagem não carregada ou ele printa a série de caracteres.
Esse ta sendo o esquema pra fazer o upload da imagem:
public function uploadImage($software_name,$software_version,$file_name,$file_tmp,$file_type) {
global $pdo;
//antes de ler o conteudo do arquivo você pode fazer upload para compactar em .ZIP ou .RAR, no caso de imagem você poderá redimensionar o tamanho antes de gravar no banco. Claro que depende da sua necessidade.
//Para fazer UPLOAD poderá usar COPY ou MOVE_UPLOADED_FILE
copy($file_tmp, "C:/wamp64/www/TLoginV1cb/imagens/$file_name");
//move_uploaded_file($file_tmp,"caminho/pasta/$file_name");
//lemos o conteudo do arquivo usando afunção do PHP file_get_contents
$binario = file_get_contents($file_tmp);
// evitamos erro de sintaxe do MySQL
$binario = addslashes($binario);
//$binario = base64_encode($binario);
//montamos o SQL para envio dos dados
$sql = $pdo->prepare("INSERT INTO softwares (nome, versao, nome_logo, logo, type_logo)
VALUES (:sn, :sv, :fn, :b, :tl)");
//executamos a instução SQL
$sql->bindValue(":sn",$software_name);
$sql->bindValue(":sv",$software_version);
$sql->bindValue(":fn",$file_name);
$sql->bindValue(":b",$binario);
$sql->bindValue(":tl",$file_type);
$sql->execute();
}
no html ta assim (e sim, to fazendo o html dentro do php, queria muito fazer cada dentro do seu arquivo certo mas por certos problemas e falta de tempo, teve que ficar assim):
$lista = "";
$softwaresList = $u->getList();
if($softwaresList != null) {
foreach($softwaresList as $software) {
if($software['nome'] != "logo_default")
$lista = $lista . "<tr>
<th scope='row'>
<img src=' . data:" . $software['type_logo'] . ";base64," . stripslashes($software['logo']) . "' class='img-fluid' width='30px' height='30px' alt='Imagem responsiva'>
</th>
<td>" . $software['nome'] . "</td>
<td>" . $software['versao'] . "</td>
</tr>";
}
}
echo $lista;