中給出的資源我試圖在文件中搜索,如果一個IP已經在那裏與in_array。但我得到這個錯誤 Warning: in_array() expects parameter 2 to be array, resource given in
。警告:in_array()期望參數2是數組,在
var $RATES_RESULT_FILE = "results.txt";
function writeResult($item,$rate){
$ip = getenv('REMOTE_ADDR'); // ip looks like an usual ip 127.0.0.1..
$f = fopen($this->RATES_RESULT_FILE,"a+");
if(!in_array($ip, $f)) {
if ($f != null) {
fwrite($f,$item.':::'.$ip.':::'.$rate."\n");
fclose($f);
}
}
}
fwrite
看起來英語是這樣的:$ F,字符串::: 127.0.0.1 ::: 5(1至5個票)
它接縫是承認該文件作爲一種資源,而不是的數組,有無論如何將文件從資源轉換爲數組。 最終RESULTS.TXT文件看起來水木清華這樣的:
String:::41.68.178.78:::3
String:::41.68.178.78:::2
String:::41.68.178.78:::1
String:::175.68.178.78:::5
'$ F'不是一個數組,這樣做的'in_array()'在它不會工作。 'fopen()'實際上並不讀取任何數據;它只是打開文件準備閱讀。 – Spudley
爲什麼你認爲PHP會奇蹟般地從'fopen()'返回數組 –