从数据库中提取长文本和从数据库中提取图像URL

时间:2016-08-08 22:29:31

标签: php mysql

我正在尝试显示描述和图像(在电子邮件中显示我的数据库中的图像目录(example.com/upload/pic.jpg),但似乎不起作用,尽管其他字段显示在邮件中。这是我的代码。

1 个答案:

答案 0 :(得分:1)

正如我在评论中写的那样,图片需要一个完整的网址,而不是您本地计算机的路径,另外还需要img src并以HTML格式发送。

即:

<img src="http://www.example.com/image.jpg">

然后以HTML格式发送,访问PHP.net网站:

它包含示例,但我将在此处发布一个示例并从mail()函数的手册中提取:

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
<html>
<head>
  <title>Birthday Reminders for August</title>
</head>
<body>
  <p>Here are the birthdays upcoming in August!</p>
  <table>
    <tr>
      <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
    </tr>
    <tr>
      <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
    </tr>
    <tr>
      <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
    </tr>
  </table>
</body>
</html>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);
?>

您基本上可以将额外的http://www.example.com/添加到图像的现有变量中。不要忘记最后的斜线。

即:

$captain_image = "http://www.example.com/". $row["imagesPath"];

并在邮件中使用$captain_image代码作为img src代码。

即:

双引号中的

<img src="$captain_image">

但是,对于您的代码,它将读作并使用$captain_image转义变量声明中\的双引号。 (这对于获得正确的HTML标记并且不会同时导致解析错误很重要):

$message_coordinator .= "Image: <img src=\"$captain_image\"><br>";

以HTML格式发送时使用<br>换行。

  • 旁注:变量不会被单引号解析,因此<img src='$captain_image'>将失败并且只显示变量名而不是图像。

考虑使用PHPMailer,它将使您的生活更轻松。

或Swiftmailer: