Здраствуйте. Нужна помощь. Вообщем проблема вот в чём: :shock: Есть txt файл, в который переодически записываются данные (а именно числа), причём формат записи вот такого типа:1|12|0|32, в общем разделены эти числа "чёрточкой". Мне нужно сложить все эти числа и выдать результат на php страничку. Сам то я могу изменять чужие скрипты под себя, а вот такого примера ни где не встречал. Вот. Буду оч. признателен. Спасиб.
Из этого я понял только то что нужно вытащить содержимое файла, указать разделитель... и всё. Если можно то по конкретней пожайлуста. к примеру файл show.txt и саму функцию сложения. или может проще открыть файл, считать содержимое, отсеять цыфры, записать в массив, а потом уж сложить.
Ух, добрый я сёдня, держи: Код (Text): $data_array = file('show.txt'); // $data_array - массив строк файла, бит по разделителю \n foreach($data as $str) { $digits_array = explode('|', $str); /* терь $digits_array содержит массив всех чисел конкретной строки дальше сам думай что тебе и с чем надо складывать последний элемент может содержать \r в конце, так как все элементы массива сейчас типа string */ }
Прости за наглость, но раз уж добрый то вот такой вот скрипт, в котором считывается кол-во кликов по определённой ссылке, в конце нужно добавить то что ты описал (самостоятельно я тока иогу открыть файл, считать данные и записать их в другой... что то вроде того) Код (Text): <? include ("count.txt"); include ("url.txt"); $kolvo=explode("|",$count); $urli=explode("|",$ssilka); $kolvo1=count($kolvo); $urli1=count($urli); //Скачка и запись (вместо ссылки include 'http://java.ru/download.php?show=1) if(isset($id)){ if($id>$kolvo1){exit;} if($id<1){exit;} $id--; $kolvo[$id]++; $newkolvo=implode("|",$kolvo); $f=fopen("count.txt","a+"); flock($f,LOCK_EX); ftruncate($f,0); $kav='"'; $tuc=';'; $e= '$count='; $newkolvo2=$e.$kav.$newkolvo.$kav.$tuc."\n"; $kaka1="<?\n"; $kaka2="?>"; fwrite($f,$kaka1); fwrite($f,$newkolvo2); fwrite($f,$kaka2); flock($f,LOCK_UN); fclose($f); header ("location: ".$urli[$id]); } //Просмотр типа include 'http://java.ru/download.php?show=1'; if (isset($show)){ if($show>$kolvo1){exit;} if($show<1){exit;} $show--; echo $kolvo[$show]; exit; } ?>
PHP: $data_array = file('show.txt'); // $data_array - массив строк файла, бит по разделителю \n foreach($data as $str) Может PHP: foreach($data_array as $str) ?
Скорее всего проблема в том что полное содержание файла Код (Text): <? $count="2|0|0|0|0|1|0|0|0"; ?> Видимо сначало нужно отсеять лишнее, а потом твой вариант. а как я не в курсе.
Игорь_Vasinsky, а ты попробуй-ка так: PHP: <?php echo array_sum(explode("|", join("", file("file.txt")))); ?>
Проверка в принципе не нужна, файл будет.) вот луче по подробней как убрать лишее из файла , а может просто исключить первые 8 символов и 2 последних.
я вот так делал: Код (Text): $sum = array_sum(explode("|", join("", file("file.txt")))); echo $sum; это же равносильно. тож не помогает. Почемут показывает что насчитал только 1 (хотя по сути =5)
Мне понравилось участвовать в обсуждении. тараканы начали бегать быстрее в голове. Теперь мне захотелось большего.