使用 php 和 <img src="" 显示图像

Display image using php with <img src=""

我对 html/php 规则有愚蠢的疑问。我正在尝试使用表格显示来自 apache 服务器的图像:

<?php

    //code

    while($row = mysqli_fetch_array($result)) {

        echo ' 
            <tr>        
              <td> '.$row['x'].' </td>
              <td> '.$row['y'].' </td>
              <td> '.$row['z'].' </td>
              <td> '.$row['f'].' </td>
              <td> '.$row['g'].' </td>
              <td> '.$row['d'].' </td>
              <td><img src=\"<?php echo $url; ?>\"/></td>
            </tr>';

}

//code

?>

但很明显,内部 php 脚本被视为普通文本,无法运行!

只需更改此:

<td><img src=\"<?php echo $url; ?>\"/></td>

至:

<td><img src="' . $url .'"/></td>

你已经在 PHP - 你不应该打开另一个 <?php 范围:

  echo ' 
      <tr>      
      <td> '.$row['x'].' </td>
      <td> '.$row['y'].' </td>
      <td> '.$row['z'].' </td>
      <td> '.$row['f'].' </td>
      <td> '.$row['g'].' </td>
      <td> '.$row['d'].' </td>
      <td><img src="' .$url . '"/></td>
      </tr>';

试一试:

<?php

while($row = mysqli_fetch_array($result)){

                          echo ' 
                              <tr>      
                              <td> '.$row['x'].' </td>
                              <td> '.$row['y'].' </td>
                              <td> '.$row['z'].' </td>
                              <td> '.$row['f'].' </td>
                              <td> '.$row['g'].' </td>
                              <td> '.$row['d'].' </td>
                              <td><img src="'.$url.'"/></td>
                              </tr>';
}
?>

这只是一个连接问题,您只需组合这些字符串,而不是设置另一个 'echo script'。

不要像那样在 PHP 中回显大块的 HTML。这是不好的做法。不,实际上,这是可怕的做法。相反,学习根据需要打开和关闭 PHP 标签,例如:

<?php
//code..code...code...
while($row = mysqli_fetch_array($result))
{
?>                        
  <tr>      
    <td> <?php echo $row['x']; ?> </td>
    <td> <?php echo $row['y']; ?> </td>
    <td> <?php echo $row['z']; ?> </td>
    <td> <?php echo $row['f']; ?> </td>
    <td> <?php echo $row['g']; ?> </td>
    <td> <?php echo $row['d']; ?> </td>
    <td><img src="<?php echo $url; ?>"/></td>
  </tr>
<?php
}
//code..code...code
?>

这样做有几个好处,包括它不太可能破坏语法突出显示,并且您的代码不会到处都是 \"

您可以简单地关闭 php 部分并放置普通的 html,然后在需要时重新打开 php,如下所示:

<?php
$test = array( "a test","also","a","test");
$itteraror = 0;
$url = "#";
?>
<!DOCTYPE HTML>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB" lang="en-GB">
<head>
</head>
<body>
<table>
<?php
while($itteraror<sizeof($test)) {
?>
            <tr>
              <td> <?php echo $test[$itteraror] ; ?></td>
              <td> <?php echo $test[$itteraror] ; ?> </td>
              <td> <?php echo $test[$itteraror] ; ?> </td>
              <td> <?php echo $test[$itteraror] ; ?> </td>
              <td> <?php echo $test[$itteraror] ; ?> </td>
              <td> <?php echo $test[$itteraror] ; ?> </td>
              <td><img src="<?php echo $url ; ?>" alt="my image"></td>
            </tr>

<?php
$itteraror++;
}


?>
</table>
</body>
</html>

我确实对您的代码做了一些修改,以便它可以独立进行测试。