Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подсчёт количества одинаковых отрезков кода, во внешнем файле 
:(
    Опции темы
Aliance
  Дата 12.4.2005, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



помогите реализовать такую вещь.
У меня есть 2 php файла (a.php и b.php).
В каждом содержится n-нное кол-во данных (одинаковых), скажем так:
a.php
Код

<p id="first">test1</p>
<p id="second">test2</p>

b.php
Код

<p id="first">test1</p>
<p id="second">test2</p>
<p id="third">test3</p>
<p id="fourth">test4</p>

Итого: 2 в первом и 4 во втором. Всего 6. Как мне вывести это значение на ./index.php?
Думается нужно ставить счетчик и с каждым разом увеличивать его, только как.
Есесно, для такого дела, данные хранятся в обычном файле count.db
PM MAIL WWW ICQ Skype   Вверх
a.S.d
Дата 13.4.2005, 01:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 100
Регистрация: 20.2.2005

Репутация: нет
Всего: 2



Я так понял, что данные у тебя постоянно меняются? Самый простой вариант это счётчик. Просто увеличивай его значение на 1 при каждо добавлении данных, а при загрузке index.php бери это значение и выводи.
PM MAIL   Вверх
Gold Dragon
Дата 13.4.2005, 07:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 10
Всего: 71



Что-то я не понял вопроса... Нужно посчитать сколько таких строк в двух файлах или просто вывести их в index.php?


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
IZ@TOP
Дата 13.4.2005, 08:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Aliance, а для чего это тебе нужно?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Aliance
Дата 13.4.2005, 14:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Red Dragon
Это я к примеру привел.


IZ@TOP
У меня есть архив скриптов. Главная будет содержать ссылки на разделы, скажем так:
Цитата

php (???)
js (???)


А на них будут располагаться скрипты, про каждый скрипт можно сказать что он будет в таблице, т.е. прошу всего перед таблицей каждой завести некую ПОСТОЯННУЮ переменную, и считать ее кол-ва. Если задать не постоянную - то смысла в этом не будет, т.к. прощу ручками самому написать smile
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 13.4.2005, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



всё равно ничего не понял... smile


--------------------
PM MAIL WWW ICQ   Вверх
Aliance
Дата 13.4.2005, 19:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Файл index.php
Цитата

Всего php скриптов: <число>


Файл php.php
Код

<table>
<tr>
<td>Скрипт №1</td>
</tr>
</table>
<br>

<table>
<tr>
<td>Скрипт №2</td>
</tr>
</table>
<br>


Таким образом скриптов всего 2, т.е. в первом файле вместо <число> должно быть 2 smile
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 13.4.2005, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



всё, я понял!) ща буим думать!)


--------------------
PM MAIL WWW ICQ   Вверх
Aliance
Дата 13.4.2005, 20:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Давай, был бы очень признателен. Т.к. без этого не могу начать писать... а то боюсь потом многое переделывать придеЦа (
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 13.4.2005, 20:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



на самом деле всё оказалось очень просто, приусловии, что в файлах с таблицми у тебя ничег не будет кроме них и разделителем им будет строка.

js.php
Код

<table>
<tr>
<td>js-script 1</td>
</tr>
</table>

<table>
<tr>
<td>js-script 2</td>
</tr>
</table>

<table>
<tr>
<td>js-script 3</td>
</tr>
</table>

<table>
<tr>
<td>js-script 4</td>
</tr>
</table>

<table>
<tr>
<td>js-script 5</td>
</tr>
</table>

<table>
<tr>
<td>js-script 6</td>
</tr>
</table>

<table>
<tr>
<td>js-script 7</td>
</tr>
</table>


php.php
Код

<table>
<tr>
<td>php-script 1</td>
</tr>
</table>

<table>
<tr>
<td>php-script 2</td>
</tr>
</table>

<table>
<tr>
<td>php-script 3</td>
</tr>
</table>

<table>
<tr>
<td>php-script 4</td>
</tr>
</table>


index.php
Код

<?
$_php=fopen("php.php","a+");
$php_tbls = fread($_php,10000);
$php_n = count(explode("\r\n\r\n",$php_tbls));
fclose($_php);

$_js=fopen("js.php","a+");
$js_tbls = fread($_js,10000);
$js_n = count(explode("\r\n\r\n",$js_tbls));
fclose($_js);

echo "
JavaScript ({$js_n})
<br>
PHP ({$php_n})
";
?>


выводит:
Цитата
JavaScript (7)
PHP (4)

Добавлено @ 20:18
на самом деле прощё было бы через функцию сделать.. чё-то я ступил


--------------------
PM MAIL WWW ICQ   Вверх
Aliance
Дата 13.4.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Нет, это совсем не то. У меня полноценная страница.
идея (в стиле Js) такая:
имеем некую переменную / массив (?), проверяем его *.length и пишем. если null - то выводим ноль.
PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 13.4.2005, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



вот так лучше -

Код

<?
function getN($lang)
{$fp = fopen($lang.".php","a+");
$data = fread($fp,10000);
$num = count(explode("\r\n\r\n",$data));
fclose($fp);
return $num;
}
?>

<html>
<body>
JavaScript (<?=getN(js);?>)
<br>
PHP (<?=getN(php);?>)
</body>
</html>

Добавлено @ 20:25
Цитата(Aliance @ 13.4.2005, 20:18)
Нет, это совсем не то. У меня полноценная страница.
идея (в стиле Js) такая:
имеем некую переменную / массив (?), проверяем его *.length и пишем. если null - то выводим ноль.



завтра тогда, ок?


--------------------
PM MAIL WWW ICQ   Вверх
Aliance
Дата 13.4.2005, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 14
Всего: 137



Видимо решения нет, я решил просто заносить все в файл и читать данные от туда. Хотя это глупо - придеЦа все руками править ( Если предложете другое решение - буду погроб обязан)
PM MAIL WWW ICQ Skype   Вверх
Irokez
Дата 13.4.2005, 20:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



если считать количество таблиц.. то:
Код

$fpath = 'my.txt';
$fcontent = implode('', file($fpath));
$fcontent = str_replace("\r\n", '', $fcontent);
preg_match_all('/<table>(.+)<\/table>/Uim', $fcontent, $matches, PREG_SET_ORDER);
echo count($matches);

ЗЫ: оффтопом: а как сделать чтобы регексп считал и без $fcontent = str_replace("\r\n", '', $fcontent);?
PM   Вверх
Alx
Дата 13.4.2005, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 6
Всего: 78



Aliance
я тоже самое и сделал. только в PHP свойство length называется функцией count(). что соббсно говоря нужно сделать, так просто напсиать регексп, который бы находил все эти твои таблицы и записывал в массив. это 2-минутная работа, но мама велит комп выключать...(
так что завтра ;)

Irokez
smile
Добавлено @ 20:36
на самом деле прощё можно smile

Это сообщение отредактировал(а) Alx - 13.4.2005, 20:35


--------------------
PM MAIL WWW ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0649 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.