dongzhuo3376 2016-07-25 20:21
浏览 70
已采纳

字符串不会在PHP中正确连接

I have a loop running in a PHP script that's part of a .inc.php (it's a header that reads from a .txt file so that it can add to it's navbar from information solely from the .txt). For example, in the .txt could be:

about

contact

support

It reads the text file in a line by line basis and returns each line as a string, which is then echoed out as a link in the navbar. For whatever reason, the about and contact links don't have the ".php" extension, but the support link does. No matter what's put into the .txt file, the last line of it will always get the extension, while the others don't. I've juggled around quotations within the echo statement, but to no avail. Any ideas as to how I can fix this?

<?php

    if (file_exists("pagespage.txt")) {

       $newFile = fopen('pagespage.txt', 'r');

       while (! feof($newFile)) {
           $pagename = fgets($newFile);
           $pagenamecap = ucwords($pagename);
           echo "<li><a class=button href=" . "$pagename.php>" . $pagenamecap . "</a></li>";
        }
    }
    ?>
  • 写回答

2条回答 默认 最新

  • dtwxt88240 2016-07-25 20:25
    关注

    Your rendered HTML looks like this:

    <li><a class=button href=contact
    .php>Contact
    </a></li>
    

    Can you see why this might be a problem?

    Firstly, add quotes around your attributes. Second, trim your string.

    $pagename = trim(fgets($newFile));
    $pagenamecap = ucfirst($pagename);
    echo '<li><a class="button" href="'.$pagename.'.php">'.$pagenamecap.'</a></li>';
    

    ("Support" didn't have this problem because it was the last line in the file, and therefore didn't have a newline at the end of it)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥60 ESP32怎么烧录自启动程序
  • ¥50 html2canvas超出滚动条不显示
  • ¥15 MATLAB四叉树处理长方形tif文件
  • ¥15 java业务性能问题求解(sql,业务设计相关)
  • ¥15 52810 尾椎c三个a 写蓝牙地址
  • ¥15 elmos524.33 eeprom的读写问题
  • ¥15 使用Java milo连接Kepserver服务端报错?
  • ¥15 用ADS设计一款的射频功率放大器
  • ¥15 怎么求交点连线的理论解?
  • ¥20 软件开发方法学习来了