#php #codeigniter
#php #codeigniter
Вопрос:
Я пытаюсь просмотреть изображение, которое было сохранено в моей базе данных, и то, что хранится в базе данных, является именем файла изображения
Это код, в котором он извлекает данные
function fetch_data()
{
ob_start();
$output = '';
$conn = mysqli_connect("localhost", "root", "", "it180p");
$sql = "SELECT * FROM incidentreport ORDER BY reportId ASC";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result))
{
$output .= '<tr>
<td>'.$row["status"].'</td>
<td>'.$row["school"].'</td>
<td>'.$row["gradeLvl"].'</td>
<td>'.$row["section"].'</td>
<td>'.$row["dateTime"].'</td>
<td>'.$row["incidentType"].'</td>
<td>'.$row["incidentDesc"].'</td>
<td>'.$row["sender"].'</td>
<td>'.$row["invPeople"].'</td>
<td>'.$row["studStatYes"].'</td>
<td>'.$row["studStatNo"].'</td>
<td>'.$row["numInvPeople"].'</td>
<td>'.$row["attachment"].'</td>
</tr>
';
}
return $output;
}
И это код, в котором он просматривает извлеченные данные
<?php foreach($incidentreports as $report) { ?>
<tr>
<td><?php echo $report["school"]; ?></td>
<td><?php echo $report["gradeLvl"]; ?></td>
<td><?php echo $report["section"]; ?></td>
<td><?php echo $report["dateTime"]; ?></td>
<td><?php echo $report["reportDate"]; ?></td>
<td><?php echo $report["incidentType"]; ?></td>
<td><?php echo $report["incidentDesc"]; ?></td>
<td><?php echo $report["invPeople"]; ?></td>
<td><?php echo $report["sender"]; ?></td>
<td><?php echo $report["studStatYes"]; ?></td>
<td><?php echo $report["studStatNo"]; ?></td>
<td><?php echo $report["maleCount"]; ?></td>
<td><?php echo $report["femaleCount"]; ?></td>
<td><?php echo $report["numInvPeople"]; ?></td>
<td><?php echo '<img src="uploads/png;base64,'. ( $report["attachment"] ).'"/>'; ?></td>
</tr>
Когда я только помещаю «вложение», отображается только имя файла, поэтому я попытался использовать приведенный выше код. Ошибки не было, но изображение не загружается, оно отображается только как сломанный значок img. Я пробовал другие способы, но в настоящее время я застрял здесь и не знаю, что делать. Был бы очень признателен, если кто-нибудь сможет мне с этим помочь.
Ответ №1:
попробуйте это, /png;base64
это не понято, поэтому удалено
<td><img src="<?php echo base_url('uploads/'.$report["attachment"]); ?>"></td>
Не забудьте добавить расширение, если вы не сохранили его в БД
Комментарии:
1. Ценю помощь, сэр. Я попробовал это и заглянул в исходный код, и, похоже, он показывает правильный путь к папке и файлу изображения, хотя он по-прежнему показывает сломанный значок img
2. Расположение пути — » localhost: 80 /it180/uploads/3 «, а «3» — это файл изображения. Я думаю, что для правильной загрузки изображения необходимо указать расширение файла (.png)?
3. Я предполагаю, что вы сохранили имя файла с его расширением
4. да, подумав об этом, я забыл включить расширение, это моя ошибка
5. в любом случае, вы действительно помогли мне в этом. Большое спасибо!
Ответ №2:
<td><img src="<?php echo 'your_image_path/'.$report['attachment']); ?>"></td>
Попробуйте приведенный выше код. А «your_image_path» — это путь к изображению. пример:https://localhost/your_project/uploads/
Если вы используете фреймворк codeigniter, следуйте ответу М.Хеманта. Это решит вашу проблему.