2014-10-29 3 views
0

Я пытаюсь создать сценарий. Важно то, что он всегда записывается в текстовом документе, поэтому я хочу сказать, сколько раз он писал в этом документе, что-то вроде вычисления строк из БД.Вычисление, сколько раз строка повторяется в файле?

Это возможно?

$myFile = "log.txt"; 
$OS = "It is running: "; 
$ID = "System ID: "; 
$Skip = "<br />"; 
$link = '<a href="'; 
$link2 = '/status.txt"> Click here to view if it is online</a>'; 
$fh = fopen($myFile, 'a') or die("can't open file"); 
$menu_text = $_POST['field1']; 
$menu_text2 = $_POST['field2']; 

if (empty($menu_text2)) { 
    echo "No Data Has Been Posted"; 
    fclose($fh); 
} 
else { 
    $stringData = $OS . $menu_text . $Skip . $ID . $menu_text2 . $link . $menu_text2 . $link2 . $Skip; 
    fwrite($fh, $stringData); 
    fclose($fh); 
    print_r($menu_text2); 
    mkdir($menu_text2, 0777); 
} 

ответ

0
$file = fopen($myFile, "r"); 
$count = 0; 
while($row = fgets($file)) { 
    if(strstr($row, "<br />") !== false) 
     $count ++; 
} 
echo $count; 
1

Я вижу, что вы пишете <br /> в конце каждой строки. Если никакая другая переменная у вас в $stringData = ... не будет содержать <br />, вы можете открыть файл и подсчитать, сколько раз происходит <br />.

Если у вас есть <br /> (и вы можете как menu_text и menu_text2 - это пользовательские входы), то вы также должны добавить новую строку, а затем подсчитать строки в файле. Обратите внимание, что вам нужно будет прочитать весь файл, чтобы получить счетчик, который для больших файлов может быть не лучшим.

Другая вещь, которую вы могли бы сделать, это просто сохранить счет в другом файле.

Смежные вопросы