Home >Backend Development >PHP Tutorial >php按行数顺序读取TXT里面的内容
txt文件里面每行都保存了一个IP
现在通过不同的电脑请求,每次请求按行数顺序读取.
这个要怎么写?
什么叫通过不同的电脑请求?
没看懂。每次读一行?
什么叫通过不同的电脑请求?
没看懂。每次读一行?
按照楼主的意思:
$conts = file_get_contents($filename);$arrConts = explode("\n",$conts);foreach($arrConts as $cont){ $pos = strpos($cont,$_SERVER['REMOTE_ADDR']); if($pos === false) continue; else echo "This ip:".$cont;}
按照楼主的意思:
PHP code
$conts = file_get_contents($filename);
$arrConts = explode("\n",$conts);
foreach($arrConts as $cont){
$pos = strpos($cont,$_SERVER['REMOTE_ADDR']);
if($pos === false)
……
我理解错楼主的意思了,#4更新了任务需求!!!
引用 5 楼 的回复:
按照楼主的意思:
PHP code
$conts = file_get_contents($filename);
$arrConts = explode("\n",$conts);
foreach($arrConts as $cont){
$pos = strpos($cont,$_SERVER['REMOTE_ADDR']);
if($pos =……
引用 6 楼 的回复:
引用 5 楼 的回复:
按照楼主的意思:
PHP code
$conts = file_get_contents($filename);
$arrConts = explode("\n",$conts);
foreach($arrConts as $cont){
$pos = strpos($cont,$_SERVER['REMOTE_ADD……
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title></head><?php$filename = "/a.txt";$conts = file_get_contents($filename);$arrConts = explode("\n",$conts);foreach($arrConts as $cont){ $pos = strpos($cont,$_SERVER['REMOTE_ADDR']); if($pos === false) continue; else echo "This ip:".$cont;}?><body></body></html>
引用 1 楼 的回复:
什么叫通过不同的电脑请求?
就是有可能 三台或者多台电脑 同时需要读取txt里面的内容,担心不同的电脑读取的ip一样
Warning: file_get_contents(a.txt) [function.file-get-contents]: failed to open stream: No such file or directory in E:\host\bendi\a.com\ip.php on line 9
引用 3 楼 的回复:
引用 1 楼 的回复:
什么叫通过不同的电脑请求?
就是有可能 三台或者多台电脑 同时需要读取txt里面的内容,担心不同的电脑读取的ip一样
担心不同的电脑读取的ip一样? 那你是要a 电脑读取1 b电脑读取2 c 电脑读取 3?
上数据库吧.
$num = 0;if(file_exists('count.txt')) $num = file_get_contents('count.txt');$ar = file('ip.txt');echo $ar[$num++];file_put_contents('count.txt', $num, LOCK_EX);
PHP code
$num = 0;
if(file_exists('count.txt')) $num = file_get_contents('count.txt');
$ar = file('ip.txt');
echo $ar[$num++];
file_put_contents('count.txt', $num, LOCK_EX);
很明显涉及到并发访问问题,要么用文件锁,要么用数据库事务,否则都无法保证原子性。
$num = 0;if(file_exists('count.txt')) $num = file_get_contents('count.txt');$ar = file('ip.txt');echo $ar[$num++];file_put_contents('count.txt', $num, LOCK_EX);