2011-11-08 54 views
-2

我正在嘗試逐行讀取文件。然後只打印與可變長度匹配的行。如果$ maxLength設置爲5,則只打印長度不超過5個字符的打印文件。逐行讀取文件並打印可變長度的行

我打開文件。我知道每一行都存儲在$輸出中。我如何找到匹配的長度? 任何幫助,不勝感激。

if($handle) 
{ 
    while (!feof($handle)) 
    { 
    $output = fgets($handle, 4096);  
    } 
} 
+6

你當然沒有覆蓋如何得到一個字符串的長度? –

+0

@Abrams我可以使用strlen? – justbrianr

+0

'strlen'(http://php.net/manual/en/function.strlen.php)是您需要獲取長度的函數 - 然後減去'fgets'包含的換行符的長度。 – Ryan

回答

1
if(is_file($file)) { $contents=file($file); } 
for($i=0;$i<$maxlength;$i++) { 
    echo($contents[$i]); 
} 
+0

我看到代碼正在做什麼,但不知何故它不適合我。順便說一句,每行都用'%'分隔,所以現在我打印出一堆'%'。 – justbrianr

+0

我想清楚我做錯了什麼。對不起有漫長的一天,想不起來。 @showerhead我沒有完全使用你推薦的內容,但是感謝你指點我接近正確的方向。 – justbrianr

+0

至於'%',你可以在循環中添加一個條件來忽略它們。至於爲什麼這不起作用,我讀錯了你的問題。修復了編輯中的代碼。 – mseancole