SearchEngines.bg

Това е примерно съобщение за гост. Регистрирайте безплатен акаунт днес, за да станете потребител на SearchEngines.bg! След като влезете, ще можете да участвате в този сайт, като добавите свои собствени теми и публикации, както и да се свържете с други членове чрез вашата лична входяща кутия! Благодарим ви!

Моля за помощ за проблем с вотинг система

signboard

New member
Здравейте, имам един проблем с една вотинг система, ето тази http://gr0w.com/articles/code/php_5_star_rating_system_using_hreview/

Работеше безпроблемно но когато достигна 518 гласа при един от участиците и спря да отчита Confused

Принципа е следния, когато се гласува първия път, скрипта прави файл item_1.php и вътре записва IP адреса от който е гласъвано и дадената оценка.Втори глас с това IP не може да се даде.

Проблема е че когато доситигне 518 гласа, и някой гласува, адреса му се записва във файла item_1.php (1 е пореден номер, следващото нещо което се оценява е с цифра 2 и т.н.),но не се записва гласа в самата страница,там където са звездите с рейтинга.

Дефакто, във файла с гласовете се отчитат и се записват адресите, а в самата страница която е в сайта и се вижда, ги няма.

Дали някой би могъл да помогне? Мога да ви дам файловете които ползвам и този с над 519 гласа, да погледнете как реално са 600 някъде а на самата страница са 519..
 
Re: Моля за помощ за проблем с вотинг система

Aз не разбирам ама виж това :
Код:
// Get current rating
if(is_file($rater_filename)){
 $rater_file=fopen($rater_filename,"r");
 $rater_str="";
 $rater_str = [B]fread($rater_file, 1024*8);[/B]
съответно тук :
http://us2.php.net/manual/bg/function.fread.php
fread() изчита до length символа, започвайки от файловия указател, указан чрез handle . Четенето спира при случването на едно от следните събития:

* length bytes have been read
* достигане на EOF (край на файла)
* когато пакет стане наличен (за мрежови потоци)
* 8192 са били изчетени (след отваряне на потока)

За решение обаче си нямам и идея :)
 
Re: Моля за помощ за проблем с вотинг система

вземи и замести този ред с fread:
while (!feof($rater_file)) {
$rater_str .= fread($rater_file, 8192);
}

така ако файла е още по-голям пак ще работи. А ако си с PHP има други по-лесни методи за четене на стрийминг файл ;)
 
Re: Моля за помощ за проблем с вотинг система

Принципно проблема няма ли да се реши генерално с 5 реда код и една база данни?
Вероятно ще се спести процесорно време и известни главоболия занапред... но вие си знаете. :)
 

Горе