【问题标题】:PHP - Getting text from a text file and using them in a "loop"!PHP - 从文本文件中获取文本并在“循环”中使用它们!
【发布时间】:2013-03-05 00:31:56
【问题描述】:

我是 php 新手,我真的需要一些关于这个脚本的帮助。我有一个带有名称的文本文件(serverlist.txt)。第一行代码获取这些名称。我想让它取一个名字,把它放到code()的最后一点,然后重复这个过程,直到serverlist.txt中没有文本行。

请帮助我。

    <?php 
$file = 'serverlist.txt';
$content = "";
if($handle = fopen($file, 'r')) {
    while(!feof($handle)) {
        $content .= fgets($handle);
            foreach($content as $cont) {
            }
    }
    fclose($handle);
}



?>

<html>
<head>
</head>
<body>
<img src="http://minecraft.net/skin/<?php 


echo $cont; ?>.png" alt="">

</body>
</html>

【问题讨论】:

  • 那么你的代码的结果是什么......任何错误?没有结果?什么?
  • 我的代码在一个 img 标签内给出了许多名字,我想要在许多 img 标签内有 1 个名字。所以我猜 foreach 是我的错误,因为我当时不知道如何使用它在名称上“显示”然后重复该过程。

标签: php function loops foreach genfromtxt


【解决方案1】:

您可以将服务器名称的输出存储在一个变量中,然后将它们输出到您的 HTML 正文中。

<?php 
  $file = 'serverlist.txt';
  $servers = '';
  if ($handle = fopen($file, 'r')) {
    while (!feof($handle)) {
      $content = trim(fgets($handle));
      $names = explode(' ', $content);
      foreach ($names as $name) {
        $servers .= '<img src="http://minecraft.net/skin/' . $name. '.png" alt="">';
      }
    }
   fclose($handle);
  }
?>

<html>
<head>
</head>
<body>
  <?php echo $servers; ?>
</body>
</html>

【讨论】:

  • 感谢您抽出宝贵时间。这不起作用,但我喜欢这个主意。问题是这在图像中同时给了我文件中的所有名称。现在它在 1 张图片中给了我很多名字,我想要在很多图片中有 1 个名字。
  • @user2176480 - 您能否发布一个示例说明您的数据文件 serverlist.txt 的格式?如果我们不知道数据是如何格式化的,就很难知道如何处理数据。换句话说,它是用逗号分隔的吗?多行?等
  • 它只用一个没有换行符的空格分隔,看起来像这样:name1 name2 name3 name4 name5 name6
  • @user2176480 - 感谢您的信息:)。我已经修改了我的答案,一次解析一个名字。
  • 这仍然给出了一张图片,其中所有的名字都在 $name =/
【解决方案2】:
<?
$content = array ();

$fd = fopen ('serverlist.txt', 'r');
while ($line = trim (fgets ($fd)))
{
    $content [] = $line;
}
fclose ($fd);
?>

<html>
  <body>
    <? foreach ($content as $cont) { ?>
      <img src="http://minecraft.net/skin/<?= $cont ?>.png">
    <? } ?>
  </body>
</html>

【讨论】:

  • 感谢您抽出宝贵时间。这不起作用。它在 img 标签内同时给了我 txt 内的所有文本。我想要每个 img 标签的 1 个名称。
【解决方案3】:

看看这是否适合你...

<html>
<head>
</head>
<body>
<?php 
    $file = 'serverlist.txt';
    $content = "";

    if($handle = fopen($file, 'r')) {
        while(!feof($handle)) {
            $content .= fgets($handle);
            foreach($content as $cont) {
                echo '<img src="http://minecraft.net/skin/'.$cont.'.png" alt="">';
            }
        }
    fclose($handle);
    }
?>
</body>
</html>

看起来你想要做的就是使用 $cont 来修改一个 img src。

【讨论】:

  • 谢谢,但这不起作用。我现在看到了如何在 中使用 php,但主要问题是,通过这个结果,我会得到一张里面有很多名字的图片,但是我想要很多里面有一个名字的图片。
猜你喜欢
  • 2022-01-20
  • 2011-09-27
  • 1970-01-01
  • 1970-01-01
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多