txt檔案裡面每行都儲存了一個IP
現在通過不同的電腦請求,每次請求按行數順序讀取.
這個要怎麼寫?
回複討論(解決方案)
什麼叫通過不同的電腦請求?
沒看懂。每次讀一行?
什麼叫通過不同的電腦請求?
就是有可能 三台或者多台電腦 同時需要讀取txt裡面的內容,擔心不同的電腦讀取的ip一樣
沒看懂。每次讀一行?
第一次請求 讀取第一行的ip,第二次請求,讀取第二行的ip,這樣一直下去
按照樓主的意思:
$conts = file_get_contents($filename);$arrConts = explode("\n",$conts);foreach($arrConts as $cont){$pos = strpos($cont,$_SERVER['REMOTE_ADDR']);if($pos === false)continue;elseecho "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)
……
不好意思呀,我是新手,那我那個a.txt檔案 放在根目錄裡,這個代理裡面哪個地方放這個檔案路徑>?
我理解錯樓主的意思了,#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 =……
$filename = "/root/a.txt";
不過和#4要求有差別,等等其他高手,吃飯先!
引用 6 樓 的回複:
引用 5 樓 的回複:
按照樓主的意思:
PHP code
$conts = file_get_contents($filename);
$arrConts = explode("\n",$conts);
foreach($arrConts as $cont){
$pos = strpos($cont,$_SERVER['REMOTE_ADD……
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
這個提示是不是我的路徑寫錯了
無標題文檔
引用 1 樓 的回複:
什麼叫通過不同的電腦請求?
就是有可能 三台或者多台電腦 同時需要讀取txt裡面的內容,擔心不同的電腦讀取的ip一樣
擔心不同的電腦讀取的ip一樣? 那你是要a 電腦讀取1 b電腦讀取2 c 電腦讀取 3?
上資料庫吧.
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
這種情況出現的問題有兩種:
1、路徑不對;
Answer-> Linux:$filename="/a.txt";(如樓主說的根目錄)
2、檔案沒有讀取許可權。
Answer-> Linux: chmod 0777 /a.txt
引用 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);
這段代碼什麼意思呢,是要自己建立一個count.TXT檔案來計數,然後才能依行讀取IP.TXT的內容嗎。
直接輸出的就是IP?能不能把IP提取發送啊 新手求教。。http://bbs.csdn.net/topics/390919386?page=1