Chciałbym aby po dodaniu kolejnego rekordu do mojej tablicy pierwszy się usuwał, tak aby stała liczba elementów wynosiła np. 10. Próbowałem robić tak:
Kod
d1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/1.php");
$d2 = explode('|', $d1);
$t1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/2.php");
$t2 = explode('|', $t1);
$tr1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/3.php");
$tr2 = explode('|', $tr1);
$a1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/4.php");
$a2 = explode('|', $a1);
$ile2 = count($d2);
if ($ile2 > 10) {
while ($ile2 > 10) {
$di = array_splice($d2, 0, 1);
$ti = array_splice($t2, 0, 1);
$tri = array_splice($tr2, 0, 1);
$ai = array_splice($a2, 0, 1);
$d = implode('|', $di);
$t = implode('|', $ti);
$tr = implode('|', $tri);
$a = implode('|', $ai);
// dane pochodzące z formularza
$dane = $d;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/1.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $t;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/2.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $tr;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/3.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $a;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/4.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
$ile2 --;
}
$d2 = explode('|', $d1);
$t1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/2.php");
$t2 = explode('|', $t1);
$tr1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/3.php");
$tr2 = explode('|', $tr1);
$a1 = file_get_contents("./uzytkownicy/$idwiadomosci/wiadomosci/4.php");
$a2 = explode('|', $a1);
$ile2 = count($d2);
if ($ile2 > 10) {
while ($ile2 > 10) {
$di = array_splice($d2, 0, 1);
$ti = array_splice($t2, 0, 1);
$tri = array_splice($tr2, 0, 1);
$ai = array_splice($a2, 0, 1);
$d = implode('|', $di);
$t = implode('|', $ti);
$tr = implode('|', $tri);
$a = implode('|', $ai);
// dane pochodzące z formularza
$dane = $d;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/1.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $t;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/2.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $tr;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/3.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
// dane pochodzące z formularza
$dane = $a;
// przypisanie zmniennej $file nazwy pliku
$file = "./uzytkownicy/$idwiadomosci/wiadomosci/4.php";
// uchwyt pliku, otwarcie do dopisania
$fp = fopen($file, "w");
// blokada pliku do zapisu
flock($fp, 2);
// zapisanie danych do pliku
fwrite($fp, $dane);
// odblokowanie pliku
flock($fp, 3);
// zamknięcie pliku
fclose($fp);
$ile2 --;
}
Teoretycznie powinno być OK, ale gdy ilość wpisów przekroczy 10 to usuwają się wszystkie elementy, a nie te pierwsze.