2011-11-08 27 views
-2

ファイルを1行ずつ読み込もうとしています。次に、可変長に一致する行だけを出力します。 $ maxLengthが5に設定されている場合は、長さが5文字以下のものだけを出力します。ファイルを1行ずつ読み込み、可変長の行を印刷する

ファイルを開きます。私は各行が$出力に格納されることを知っています。どのように一致する長さを見つけるのですか? 何か助けていただければ幸いです。

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

関連する問題