strip_tags - strpos php
ComprobaciĆ³n de PHP si el archivo contiene una cadena (3)
Estoy tratando de ver si un archivo contiene una cadena que se envía a la página. No estoy seguro de lo que está mal con este código:
?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
}
El código es más eficiente al buscar archivos más grandes.
$handle = fopen(''path_to_your_file'', ''r'');
$valid = false; // init as false
while (($buffer = fgets($handle)) !== false) {
if (strpos($buffer, $id) !== false) {
$valid = TRUE;
break; // Once you find the string, you should break out the loop.
}
}
fclose($handle);
Mucho más simple:
<?php
if( strpos(file_get_contents("./uuids.txt"),$_GET[''id'']) !== false) {
// do stuff
}
?>
En respuesta a los comentarios sobre el uso de la memoria:
<?php
if( exec(''grep ''.escapeshellarg($_GET[''id'']).'' ./uuids.txt'')) {
// do stuff
}
?>
function getDirContents($dir, &$results = array())
{
if ($_POST[''search''] == null)
exit;
ini_set(''max_execution_time'', $_POST[''maxtime'']);
$_SESSION[''searchString''] = $_POST[''search''];
echo "<script>var elm = document.getElementById(''search'');elm.value=''$_POST[search]'';</script>";
if (!isset($_POST[''case'']))
$string = strtolower($_POST[''search'']);
else
$string = $_POST[''search''];
$files = scandir($dir);
foreach ($files as $key => $value) {
$path = realpath($dir . DIRECTORY_SEPARATOR . $value);
if (!is_dir($path)) {
$content = file_get_contents($path);
if (!isset($_POST[''case'']))
$content = strtolower(file_get_contents($path));
if (strpos($content, $string) !== false) {
echo $path . "<br>";
}
$results[] = $path;
} else if ($value != "." && $value != "..") {
getDirContents($path, $results);
$results[] = $path;
}
}
return $results;
}
Proyecto original: https://github.com/skfaisal93/AnyWhereInFiles