我正在尝试查看文件是否包含发送到页面的字符串。我不确定这段代码有什么问题:
?php $valid = FALSE; $id = $_GET['id']; $file = './uuids.txt'; $handle = fopen($file, "r"); if ($handle) { // Read file line-by-line while (($buffer = fgets($handle)) !== false) { if (strpos($buffer, $id) === false) $valid = TRUE; } } fclose($handle); if($valid) { do stufff }
简单得多:
<?php if( strpos(file_get_contents("./uuids.txt"),$_GET['id']) !== false) { // do stuff } ?>
回应有关内存使用的评论:
<?php if( exec('grep '.escapeshellarg($_GET['id']).' ./uuids.txt')) { // do stuff } ?>