(PHP) Yardım ayıklama izleme script sadece benzersiz öğeleri göstermek için

1 Cevap php

i benim web sitesi ve üzerinde çalışmak için uygulamaya çalışıyorum bu komut dosyası var komut oyunları anda oynanan ediliyor ne izlemek için varsayalım ama tek sorun i girişlerini görüntülemek için komut çağırdığınızda çiftleri gösterecek olduğunu ve i betik aslında dize keşfetmek ve almak istiyorum only the $gamename and look for duplicates, not the entire string.

What the script does: Records the gameID, gamename, gamethumb url, IP and time all separated by |. Example: 1744|The Simpliest Snowboarding|The Simpliest Snowboarding|77.88.42.26|1264717552

Look for the IP and if already exists update the record with the new info. If the IP does not exist already write a new line with the information. If the record is older then 60min erase it.

Onun i insanlar şu anda web sitesinde oynamaya ne göstermek için kullanacaksınız sadece basit bir script.

$dataFile = "visitors2.txt";
$numbergames = 30;
//Please do not edit bellow this line

error_reporting(E_ERROR | E_PARSE);

$users = array();

//getting
$fp = fopen($dataFile, "r");
flock($fp, LOCK_SH);
while(!feof($fp)) {
$users[] = fgets($fp, 4096);
}
flock($fp, LOCK_UN);
fclose($fp);
$i = 0;
echo '<ul>';
foreach(array_unique($users) as $key => $data) {
list($game2id , $gamename , $gamethumb , , ) = explode("|", $data);
//echo $game2id . $gamename;
if($gamename != "" && $i <= $numbergames) {
$newpageurl = str_replace(" ", "-", strip_tags(trim(str_replace($rplce, "", $gamename))))  ;
$url = $game2id .'-'. $newpageurl .'.html';

echo '<li><a href="'.$url.'"><img src="./arcade/img/'.$gamethumb.'.png" width="35" height="35" border="0" /></a>'.$gamename.'</li>';
}
$i++;

}

, Yardım ve peşin herkese teşekkür edin.

1 Cevap

Tüm satırları, oyun adları sadece - sizin array_unique() çağrı sadece yinelenen satırları ortadan kaldırıyor. Sadece oyun isimlerinden oluşan bir dizi oluşturmak gerekir. Sonra dupes ortadan kaldırabilir.

Gibi bir şey:


$currentGames = array();
$max = 30;
$fp = fopen($dataFile, "r");
flock($fp, LOCK_SH);
while ((count($currentGames) < $max) && (($data = fgetcsv($fg, 0, '|')) !== FALSE) 
{
 if (!in_array($data[1], $currentGames)) $currentGames[$data[0]] = $data[1];
}

Bu size tuşları olarak oyun kimlikleri ile benzersiz bir oyun adları bir ilişkisel dizi verecektir.