我在WordPress中制作自定义主题。现在在主题文件夹里面是另一个名为“php”的文件夹,里面有一个文本文件,让我们说“names.txt”。现在我想要做的是从“php”文件夹中读取文本文件。我在index.php中有这个代码:
<?php
$file = fopen("/php/names.txt","r");
while(! feof($file))
{
echo fgets($file). "<br />";
}
fclose($file);
?>
但是我的网页陷入了无限循环,但错误的是文件不存在,尽管它确实存在。急需帮助。 更新:我尝试在一个单独的php.file中运行上面的代码,我将它放在与“names.txt”文件相同的目录中,然后读取数据。
更新[求助]:
<?php
$location = get_template_directory() . "/php/admin.txt";
if ( file_exists( $location )) {
$file = fopen($location, "r");
while(!feof( $file )) {
echo fgets($file). "<br />";
}
fclose($file);
}
else
{echo "no file.";}
?>
由于@MackieeE ,像魔术一样工作
答案 0 :(得分:1)
首先使用file_exists()
:
if ( !file_exists( "/php/names.txt", "r" ))
echo "File not found";
然后让我们来看看你是如何从调用文件的 - 它可能无法找到它!目前,您的WordPress脚本可能正在从themes文件夹中调用它,如下所示:
--> root
--> wp-content
--> themes
--> yourtheme
--> php
--> names.txt
尽管如上所述,当前脚本正在寻找:
--> root
--> php
--> names.txt
由于/php/
确保将names.txt放在正确的位置,您可以使用Wordpress'es预定义变量get_template_directory()
或PHP $_SERVER["DOCUMENT_ROOT"]
来确保指向正确的文件夹需要:
$location = get_template_directory() . "php/names.txt";
if ( file_exists( $location )) {
$file = fopen($location, "r");
while(!feof( $file )) {
echo fgets($file). "<br />";
}
fclose($file);
}