【问题标题】:Img src not found in html but file_exist in php在 html 中找不到 img src 但在 php 中存在 file_exist
【发布时间】:2017-11-08 22:14:02
【问题描述】:

我想上传以高棉语命名的图片。

例如:សង្គ្រាមថ្មលោហិត.jpg

我将此图像上传到我的服务器并将图像名称存储在数据库中。

当我尝试使用 php 获取此图像时,它什么也没显示,即使该文件存在。

在 PHP 中

$sql  = mysqli_query($con_database, "select * from Table where id='ID_NUM' ");
$rs = mysqli_fetch_array($sql);
$img_name = $rs['Column_Image'];

在 HTML 中

<img src="<?= $img_name; ?>" >

【问题讨论】:

  • 上传前重命名图片.....
  • 你是如何获取它的?将代码添加到您的问题中。
  • $sql = mysqli_query($con_database, "select * from Table where id='ID_NUM'"); $rs = mysqli_fetch_array($sql); $img_name = $rs['Column_Image'];在 HTML " >
  • 你能看到数据库中正确插入的名字吗?
  • 当我插入数据库时​​,它的名称是这样的 សង្គ្រាមážáŸ’មលោហិáž.jpg 和文件夹中的文件图像也一样。

标签: php html image src


【解决方案1】:

这就是我为数据库设置 UTF-8 所做的工作。

示例表

CREATE TABLE my_table 
(
   id    INT UNSIGNED NOT NULL AUTO_INCREMENT ,
   name  VARCHAR(25) NOT NULL,

   PRIMARY KEY(`id`)  

) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

数据库连接 (PDO)

使用 PDO(注意字符集设置)。

$db_connection = new \PDO("mysql:host=".$db_connection_details['host'].";dbname=".$db_connection_details['database_name'] . ";charset=utf8mb4", $db_connection_details['username'], $db_connection_details['password']);

数据库连接 (mysqli)

$mysqli = new mysqli('localhost', 'username', 'password', 'database');
$mysqli->set_charset('utf8mb4');

【讨论】:

  • 谢谢斯普林吉!在我为数据库连接设置 utf8 后,它可以正常工作,但图像名称仍然像这样 សង្គ្រាមážáŸ’មលោហិáž.jpg 而在数据库中显示像 សង្គ្រាមថ្មលោហិត.jpg
  • 抱歉,我的示例是针对 PDO,我添加了一个 mysqli 示例。如果它在您的 HTML 中显示不正确,您需要确保您的 HTML 也以 UTF-8 格式输出。这是一篇很棒的帖子stackoverflow.com/questions/279170/utf-8-all-the-way-through/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-13
  • 1970-01-01
  • 1970-01-01
  • 2017-12-15
  • 2013-06-14
相关资源
最近更新 更多