2017-05-08 94 views
-5

我希望我的PHP代碼在我的網頁上顯示N個.txt文件中的一個。 (如果我訪問example.com/index.php?l=1它應該顯示1.txt)我使用變量爲$ m的數字。 $ m的定義正確,因爲它在其他頁面上工作。PHP - 使用變量

我的問題是我不能用變量定義「1.txt」的位置。我的代碼是:

$filename = "C:\xampp\project\Logs\.$m.'.txt'; 
       if (file_exists($filename)) { 
        if (is_readable($filename)) { 
         $handle = fopen($filename, 'r'); 
         if (filesize($filename) > 0) { 
          $contents = fread($handle, filesize($filename)); 
          fclose($handle); 
          $contents = str_replace('\r\n', "\r\n", $contents); 


          echo ' <textarea data-autoresize class="form-control vresize" id="info" rows="20">'.$contents.'</textarea>';  
         } else { 
          echo ' <textarea data-autoresize class="form-control vresize" id="info" rows="20"></textarea>'; 
         }  
        } 
       } else { 
        echo '<br><font color=red>Cant get any Logs for ID: '.$m.'</font>'; 
       } 

我嘗試了幾個不同的東西,但沒有解決我的問題,因爲$ m不能在$ filename中解決。

有人能夠按照我的描述和理解我的問題嗎?非常感謝幫助!

+5

您的代碼中存在語法錯誤。 Stack的語法突出顯示了你。 –

+0

將您的第一行更改爲: 「C:\ xampp \ project \ Logs \」。$ m。'。txt'; – patwoj98

+0

Alredy嘗試: 解析錯誤:語法錯誤,意想不到的「\」(T_NS_SEPARATOR) 如果我添加另一個「修復語法錯誤,我得到‘不容得到任何日誌中的ID:1234567890’ – Luca

回答

0

嘗試:

$filename = 'C:/xampp/project/Logs/' . $m . '.txt'; 

你有不匹配的報價。我還將反斜槓改爲正斜槓,因爲反斜槓在PHP字符串中有特殊含義; Windows允許在路徑名中使用任一種樣式。

+0

首先感謝您的幫助。不幸的是,你的代碼給我「不能即使1234567890.txt在正確的文件夾中,也能得到任何ID爲1234567890的日誌「 你確定它應該與這段代碼一起工作嗎?如果是的話,我要在錯誤的一端尋找錯誤... 再次感謝 – Luca

+0

你可以顯示一個實際的文件名稱。我不確定代碼中的哪些點是文件名或PHP連接運算符的一部分。 – Barmar

+0

它是'Logs.123456.txt'還是'Logs123456.txt'? – Barmar