我正在尝试制作一个if
,它会尝试通过搜索文档获取一行文档。因此,它在文档中搜索“Registrar Handle”并获得该行的整个输出。
我遇到的问题是我收到此错误:Notice: Undefined index: Registrar Handle in C:\xxxx\xxxx\xxx\xx on line 29
如果某人有解决方案,可能会解释为什么会发生这种情况会很好吗?
$commandR = "whois ".mysql_result($domain, 0);
$outputR = shell_exec($commandR);
$fhR = fopen('R.txt','w+');
fwrite($fhR,$outputR);
fclose($fhR);
{
//.no
if( strpos(file_get_contents("./R.txt"),$_GET['Registrar Handle'])){
$fhR = fopen('A.txt','r');
$R = fgets($_GET);
fclose($fhA);
Echo $R;
//mysql_query("UPDATE `dom_oversikt`.`server1` SET `Registrar`='".$R."' WHERE `id` = '$id';");
}
答案 0 :(得分:0)
您可以迭代刚创建的文件,获取文件的每一行,直到到达它的末尾并回显/返回包含您提到的字符串的行。
$searchedString = 'Registar Handle';
if (($handle = fopen("./R.txt", "r")) !== false) {
while (!feof($handle)) {
$currentLineInFile = fgetss($handle, 4096);
if(false !== strpos($currentLineInFile, $searchedString)){
echo $currentLineInFile;
}
}
fclose($handle);
}
有人可能会说你可以使用preg_match代替strpos,但它更复杂,速度更慢(根据指向php doc本身的SO answer)。
关于您的错误,这只是因为数组 $ _ GET 中没有关键的'注册处理程序'。