2013-12-21 40 views
1

我在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」文件相同的目錄中,並讀取數據。

UPDATE [解決]:

<?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

嘗試添加一個空行到你的「names.txt中」文件 –

+0

數據末尾的「names.txt中內'檔案?或者像這樣: $ file = fopen(「/ php/names.txt _」,「r」); –

+0

打開你的names.txt文件並在其底部/底部添加一個空行。 –

回答

1

做的文件更好的檢查系統剛開始時,使用file_exists()

if (!file_exists("/php/names.txt", "r")) 
    echo "File not found"; 

然後讓我們看看你如何從調用文件- 它可能只是無法找到它!目前,你的WordPress的腳本可能是調用它從主題文件夾,如下:

--> root 
     --> wp-content 
     --> themes 
      --> yourtheme 
      --> php 
       --> names.txt 

雖然如前所述,當前腳本正在尋找它:

--> root 
    --> php 
     --> names.txt 

因爲起動斜線內/php/

確保您將您的names.txt放置在正確的位置,您可以使用Wordpress的預先定義d變量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); 
} 
+0

它返回目錄中沒有找到文件。問題是它沒有進入php文件夾,它只檢查,直到」C:\ wamp \ www \ wordpress \ wp-content \ themes \ euro \ 「而不是‘C:\ WAMP \ WWW \ WordPress的\可溼性粉劑內容\主題\歐元\ PHP’ –

+0

好做它,如果你感動'names.txt'到'/歐元/'文件夾的情況下工作 – MackieeE

+0

它返回相同的@MackieeE,找不到文件,但它確實存在我確定它。我注意到WordPress在使用javascript和jquery時有特定的功能,也許還有一個特殊的功能來讀取.txt文件。 –