2009-12-01 25 views
0

目前我使用PHP通過Telnet連接製作數據解析器。 我遇到過問題: 我需要把指針放到某個地方的流中(而不是數據的末尾),但是使用fseek()函數對於流是不可能的。 請告訴我,我該如何解決這個問題?如何將指針放在使用PHP的流中所需的位置?

回答

2

這個功能應該將你的流光標移動到所需地方:

function moveStreamCursorTo(&$fp, $offset) 
{ 
    for ($i = 0; $i < $offset; $i++) 
     fgetc($fp); 
} 

// Use like this: 
$curPos = 459; 
$desiredPos = 1345; 

moveStreamCursorTo($yourStream, $desiredPos - $curPos); 

請測試這一點,並報告結果。

+0

感謝您的快速回復。 您的功能與telnet完美結合。 但我剛剛發現,我可以使用stream_get_line()函數解決方案,因爲它允許按指定的符號分隔數據。所以這個函數在這種情況下更合適。 但是,非常感謝您的幫助。 P.S.對不起,我的英文不是母語。 – Alex 2009-12-01 14:07:33

+0

這很好。你的英語也是如此;) – Franz 2009-12-01 14:32:57

相關問題