Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Komentarzy na dobę...
Qrzysio
post
Post #1





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.06.2003
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Witam.

Potrzebuję napisac skrypt który pokaże mi ilość wpisywanych komentarzy na dobę. Nie wiem jednak jak się do tego zabrać, dlatego zwracam się o pomoc do Was. Plik z komentarzami jest tutaj: www.moja-ostroleka.pl/cutenews/data/comments.txt

Bardzo proszę o pomoc, gdyż naprawe ie wiem od czego zacząć. Nie wiem jak explodować ten plik i jak czytać poszczególne wpisy gdyż tam jest kilka wpisów w jednej linii. I nie wiem czy trzeba zawsze przeszukiwać cały plik czy tylko do pewnego momentu - daty? Proszę pomóżcie.


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
Qrzysio
post
Post #2





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.06.2003
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Na innym forum podsunięto mi taki kod:

[php:1:50d7668f53]<?php

function debug($t){

print "<pre>";
print_r($t);
print "</pre>";
}

function ilosc_wpisow($filename)
{
# gdzie filename to nazwa pliku
# w twoim wypadku `comments.txt`

$file = @file($filename) or die("Nie moglem otworzyc pliku $filename");

for ($i=0; $i<count($file); $i++)
{
$wiersz = explode("|>|",$file[$i]);
if ($wiersz[0])
{
$r = date("Y",$wiersz[0]);
$m = date("n",$wiersz[0]);
$d = date("j",$wiersz[0]);

$time[$r][$m][$d] += 1;
}
}

debug($time);
}

ilosc_wpisow("comments.txt");

?>
[/php:1:50d7668f53]
lecz... sam autor tego napisał:

"hmm, nie rozumiem, niby wszystko ok a suma liczb ciagle wynosi tyle ile wpisow w calym pliku..."

Rzeczywiście skryt nie działa. Efekt działania tego kodu możecie zobaczyć tutaj:
www.moja-ostroleka.pl/cutenews/data/komentarze.php


Poradźcie mi dlaczego ten kod może nie działać?


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
scanner
post
Post #3





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
Na innym forum podsunięto mi taki kod:[php:1:33eccc20d4]<?php  
if ($wiersz[0])  
?>  
[/php:1:33eccc20d4]
Warunek taki mówi, że jeśłi tylko jest jakakolwiek data ( w tym przypadku), to trzeba dodać jeden.
Trzeba zrobić coś takiego:[php:1:33eccc20d4]<?php
function debug( $mixVariable )
{
echo '<pre>';
var_dump( $mixVariable );
echo '</pre>';
}

/**
* @return false or array
* @param string $strCommentFile
* @desc Funkcja oblicza ilosc komentarzy dla kazdego znalezionego dnia.
*/
function CountComments( $strCommentFile )
{
if(!is_readable( $strCommentFile ))
{
return false;
}

$arrCounters = array();
$arrFile = file( $strCommentFile );
foreach ( $arrFile as $strRow )
{
$arrRow = explode( '|>|', $strRow );
$strTestDate = date('Y-m-d', $arrRow[0]);
if( isset( $arrCounters[$strTestDate] ) )
{
$arrCounters[$strTestDate]++;
}
else
{
$arrCounters[$strTestDate] = 1;
}
}
return $arrCounters;
}

$arrCounters = CountComments( 'comments.txt' );
debug( $arrCounters );
?>[/php:1:33eccc20d4]


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Qrzysio
post
Post #4





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.06.2003
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Hmm fajnie fajnie.. ale jak zrobić skrypt o którym pisałem? Wydaje mi się że nie debug jest zbędny... Czekam nadal na propozycje.


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
scanner
post
Post #5





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




No przecież masz gotową, sprawdzoną fukcje, która zwróci albo FALSE albo tablice zawierającą ilości komentarzy z danym dniu, przy czym data jest indekxem tablicy.
Może jeszcze za Ciebie wkleić to do Twojego skryptu?


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
Qrzysio
post
Post #6





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.06.2003
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Cytat
Może jeszcze za Ciebie wkleić to do Twojego skryptu?


Szczerze mówiąc to tak.. bo nie wiem jak to zrobić :| Z góry thx, jesli będziesz tak łaskawy.


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
zombie
post
Post #7





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


W związku z tym, że sam plik komentarzy ma ok. 500 kB, proponuję stworzyć system komentarzy od nowa, zamiast obciążać skrypt dodatkowymi funkcjami. :wink:


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post
Qrzysio
post
Post #8





Grupa: Zarejestrowani
Postów: 48
Pomógł: 0
Dołączył: 22.06.2003
Skąd: Ostrołęka

Ostrzeżenie: (0%)
-----


Cytat
W związku z tym, że sam plik komentarzy ma ok. 500 kB, proponuję stworzyć system komentarzy od nowa, zamiast obciążać skrypt dodatkowymi funkcjami.  :wink:


Chętnie bym sam się za to wziął ale na razie nie mam czasu zakuwać php i póki tego nie opanuję jestem zdany tylko na Waszą pomoc.


--------------------
Pozdrawiam
Go to the top of the page
+Quote Post
zombie
post
Post #9





Grupa: Zarejestrowani
Postów: 296
Pomógł: 0
Dołączył: 9.05.2002
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


No to masz kod scanner'a. Wklej go gdziekolwiek na stronie.


--------------------
audaces fortuna iuvat!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 19:51