我正在尝试从服务器上的.txt文件中提取一个随机字符串,以便在我网站的页脚中显示它。这是我正在使用的代码(前两行纯粹用于调试目的):
<div id="footer">
<div class="instructions">
<?php
$file = include_once 'facts.txt';
echo dirname(__FILE__);
$f_contents = file('facts.txt');
$line = $f_contents[array_rand ($f_contents)];
echo $line;
?>
</div>
</div>
以下是我的页脚中显示的内容:
TEST LINE - FOR TESTING PURPOSES.
/HOME/LEWIHTYV/PUBLIC_HTML/WP-CONTENT/THEMES/LEWNACY
WARNING: FILE(FACTS.TXT) [FUNCTION.FILE]: FAILED TO OPEN STREAM: NO SUCH FILE OR DIRECTORY IN /HOME/LEWIHTYV/PUBLIC_HTML/WP-CONTENT/THEMES/LEWNACY/FOOTER.PHP ON LINE 6
WARNING: ARRAY_RAND() EXPECTS PARAMETER 1 TO BE ARRAY, BOOLEAN GIVEN IN /HOME/LEWIHTYV/PUBLIC_HTML/WP-CONTENT/THEMES/LEWNACY/FOOTER.PHP ON LINE 7
由于某种原因,即使文件被包含在内并且目录正确(footer.php和facts.txt文件都在同一目录中)时也被识别,随机行选择会引发此错误。我已经使用WAMP在本地测试了这段代码,我没有遇到任何问题。我还检查了文件权限以确保它是可读的。
答案 0 :(得分:0)
答案是PHP不会自动假设“facts.txt”与正在运行的PHP文件位于同一目录中。你必须告诉它完整的路径。
尝试:
$f_contents = file(dirname(__FILE__) . '/facts.txt');