目前,我正试图遍历一个目录,获取所有14个文件名,并使用这些文件名生成一些html。我遇到了在PHP中创建HTML元素的问题,现在我正试图生成一个HTML div
,其中包含一个图像和14次下面的一行文本。
我曾尝试在HTML元素前后放置空的php
标记,但没有成功,因为PHP不允许在另一个php
元素中使用php
元素。
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
<?php
?>
<div class="cell-1-9">
<img src="images/image.jpg">
<p>Dylan Miller</p>
</div>
<?php
?>
}
?>
我需要另一种在PHP中生成HTML元素的方法。
您只需要关闭<?php
标签就可以恢复到html:
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
?>
<div class="cell-1-9">
<img src="<?php echo $file ?>">
<p>Dylan Miller</p>
</div>
<?php
}
?>
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
?>
<div class="cell-1-9">
<img src="images/image.jpg">
<p>Dylan Miller</p>
</div>
<?php
}
?>
尝试HEREDOC语法。我正在粘贴用户1477388的更正代码:关闭HTML;不得缩进。
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
echo <<<HTML
<div class="cell-1-9">
<img src="{$file}">
<p>{$file}</p>
</div>
HTML;
}
?>
如我的MVC项目PHP One中的示例所示,您可以使用所谓的HEREDOC语法:
<?php
foreach($Model as $movie)
{
echo <<<HTML
<li class="list-group-item">
<strong>{$movie->Title}</strong> ({$movie->Rating}) - {$movie->ReleaseDate}
</li>
HTML;
}
?>
根据您的代码进行调整,尝试以下操作:
<?php
$dir = "classes/1961/*";
foreach(glob($dir) as $file)
{
echo <<<HTML
<div class="cell-1-9">
<img src="{$file}">
<p>{$file}</p>
</div>
HTML;
}
?>
参考。https://github.com/DominicArchual/Php-One#define-您的视图
脚注:学习MVC会让你成为一个更好的开发人员;也更有价值。