2017-02-03 4 views
0

Я пытаюсь отправить информацию в виде письма администратору Ниже приведен почтовый код, и я читаю его с помощью file_get_contents() в другом файле.php не работает должным образом в почте()

<!doctype html> 
<?php 
require_once("mysqlconnect.php"); 
session_start(); 
?> 

<html> 
    <head> 
    <link rel="stylesheet" href="css/mail.css"> 
    </head> 
    <body> 
    <table border="2"> 
    <?php 
     $q="select * from profile where mobile=2147483647"; 
     $result=mysqli_query($conn,$q); 
     while($row = mysqli_fetch_assoc($result)) 
     { 
      foreach($row as $key=>$value) 
      { 
       if($key=="Email") 
        echo"<tr><th>$key</th><td><a href='mailto:$value;   target='_blank'>$value</td></tr>"; 
       else 
        echo"<tr><th>".str_replace('_',' ',$key)."</th>   <td>$value</td></tr>"; 
      } 
     } 
    ?> 

    </table> 
</body> 
</html> 
<?php 
    session_destroy(); 
?> 

Результатом этого кода в почте сам PHP код ..

$value) { if($key=="Email") echo" 
$key $value 
"; else echo" 
".str_replace('_',' ',$key)." $value 
"; } } ?> 

ответ

1

file_get_contents буквально читает в файле в виде строки. Если вы читаете в PHP-файле, используя этот метод, он буквально вернет код, который вы получаете.

Если вы хотите отправить HTML как электронное письмо, используйте что-то вроде системы шаблонов (sitecrafting.com/blog/top-5-php-template-engines) или создайте строку и передайте ее на функцию mail().

PHP documentation: file_get_contents

+0

ОК спасибо .... :) – katty

+0

Я не могу упрекать, что я низкий в репутации – katty

+0

Объект класса mysqli не может быть преобразован в строку в reg.php при добавлении этого как строки в другой файл ... – katty

2

file_get_contents возвращает содержимое файла в виде строки. Он не выполняет код внутри него.

Чтобы использовать HTML-файл из php-файла, вы можете использовать буфер php.

Как это:

ob_start(); 

include('file_path_here'); 

$HTML = ob_get_clean(); 

Это сохранит вывод файла в переменной $HTML.

Смежные вопросы