Ну тут имеется в виду, что после обработки запроса выводится страница, которая посредством JS будет выполнять функцию нажатия кнопки назад в браузере. То есть переадресовывать на страницу, с которой был отправлен запрос.
В JS нет сессий, это клиентский язык. Все данные из PHP, сессий и тп надо выводить пользователю в скрипты и уже тогда джаваскриптом обрабатывать эти данные.
То есть на странице, которую пользователь получит надо вывести:
А уже JS должно работать с этими данными через переменную session_data
Как правило к обработчику обращаются с конкретной страницы и на нее же и отсылают обратно.
Комментарии пишутся к чему-то, к какой-то странице.
Реф можно проверить регуляркой.
Ну и последнее - что можно сделать посылом самому себе кривого хидера?
У вас каша в голове, потому что читать файл два раза нет никакого смысла.
Прочтите что такое функция и что такое переменная.
Эмм, да и синтаксис.... возьмите пример из мануала по пхп.
Есть такая штука, как блокировки сессии. Как это решить - зависит от архитектуры скриптов и ожидаемого эффекта.
если совсем просто - закрывайте сессию перед нагруженным участком кода или длительной операцией и открывайте ее после окончания.
Странно, я вчера еще полностью готовое решение скинул.
Ну задача была еще и удалить из исходного массива массивы поиска. Поэтому мною и был предложен вариант с цикличным перебором массива. А дальше уже извращения с "красотой".
P.S. если есть еще примеры решения - давайте постить, интересно увидеть еще варианты
Ответ выше. А когда окажется, что в папке не только txt - надо будет еще попотеть.
Вопрос в том, что на одном файле гораздо проще отследить корректность подсчета.
<?php
print mb_strlen(strip_tags( implode('', file ('./file.txt')) ));
?>
file ('./file.txt') - читает построчно файл
implode - объединяет все прочтенное в одну строку
strip_tags удаляет теги
mb_strlen - возвращает количество символов в строке, оставщееся после всего вышесделанного
в оконцовке все должно прийти к :
$num = 0;$dir = "./dir";if ($handle = opendir($dir)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { $num +=mb_strlen(strip_tags( implode('', file ($dir.'/'.$file)) )); } } closedir($handle); }print $num;
пример входных данных, когда не работает можно?
$h = array('a', 'b', 'f', 'r', 'b', 'v', 'r', 'b', 't', 'a');$m = array('b', 'a');shuffle($m);shuffle($h);function check($array, $search, $count=0){ foreach ($array as $k=>$v) { $n = array_search($v, $search, true); if ($n!==false) { unset($search[$n]); } else { print $count; return; } } $count++; check($array, $search, $count);}check($m, $h);
всегда выдает 2---------- Добавлено 04.08.2014 в 18:35 ----------
$h = array('a', 'b', 'f', 'r', 'b', 'v', 'r', 'b', 't', 'a');$m = array('a','b');shuffle($m);shuffle($h);function check($array, &$search, $count=0){ $arr = array(); foreach ($array as $k=>$v) { $n = array_search($v, $search, true); if ($n!==false && !in_array($n,$arr)) { $arr[] = $n; } else { return $count; } } foreach($arr as $k=>$v) { unset($search[$v]); } $count++; $count = check($array, $search, $count); return $count;}print 'Найдено и удалено из $h ' . check($m, $h) . ' массивов $m';print_r($h);
с удалением найденных...