在 HTML 中输出 PHP 变量

Outputting PHP variable inside HTML

所以标题可能听起来很混乱,所以这里有一个简短的例子。

这是 php 代码(包装在 HTML 中);

echo '<br/><img src="<?php echo $filepath" alt="test" />';

这是源文件中该代码的输出;

<img src="&lt;?php echo $filepath;?&gt;" alt="test">

如您所见,php 代码显示而不是执行。这是代码所在的完整文件;

<?php include('_header.php'); ?>

<?php
$username = $_SESSION['user_name'];

$filesyst = array('png', 'jpeg', 'gif', 'jpg'); 
foreach($filesyst as $val) { 
$path = 'avatar/'.$username.'.'.$val; 
if(file_exists($path)) { 
$filepath = 'avatar/'.$username.".".$val; 
} else { 
//default image to be loaded 
} 
}
?>

<?php

// HERE'S THE CODE ----------
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />";
echo '<br/><img src="<?php echo $filepath;?>" alt="test" />';


?>

<div>
    <a href="index.php?logout"><?php echo WORDING_LOGOUT; ?></a>
    <a href="edit.php"><?php echo WORDING_EDIT_USER_DATA; ?></a>
</div>

<?php include('_footer.php'); ?>

对这里发生的事情有什么想法吗?非常感谢任何帮助!

您有一些 PHP 代码封装在您正在 echo 的字符串中。试试这个:

echo '<br/><img src="' . $filepath . '" alt="test" />';

您已经在 php 块中。试试这个:

<?php

// HERE'S THE CODE ----------
echo WORDING_YOU_ARE_LOGGED_IN_AS . $_SESSION['user_name'] . "<br />";
echo '<br/><img src="'.$filepath.'" alt="test" />';

?>