Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Usuwanie wielu linii z pliku
Tomek58
post
Post #1





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Witam!
Próbuję napisać skrypt do usuwania z pliku wielu linii na raz. Przerobiłem skrypt do usuwania jednej linii, ale strasznie obciąża serwer i czasami wyskakuje błąd o wykorzystaniu limitu czasu. Czy da się to wykonać szybciej, tak aby nie wyskakiwał błąd?

Oto mój skrypt (usuwa 269 linii od góry licząc):

Cytat
<?PHP

$start = 0;
$koniec = 269;

do {

$toDelete = 0;
$lines = file('strona.html');
unset($lines[$toDelete]);
file_put_contents('strona.html', $lines);
$start ++;

} while ($start != $koniec);

?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Tomek58
post
Post #2





Grupa: Zarejestrowani
Postów: 74
Pomógł: 0
Dołączył: 30.08.2007

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


Dzięki, teraz operację wykonuje błyskawicznie :-).

Jeszcze jeden problemik, jak zostawić kilka linii bez naruszenia? Tzn. chciałbym jeszcze usunąć linie z końca pliku, tak aby zostały te które mnie interesują.

Wcześniej skrypt wyglądał tak (pozostawiał 16 linii), ale działał tylko przy małej ilości linii:

Cytat
<?PHP

$start = 0;
$koniec = 269;
$koniec2 = 268;

do {

$toDelete = 0;
$lines = file('strona.html');
unset($lines[$toDelete]);
file_put_contents('strona.html', $lines);
$start ++;

} while ($start != $koniec);

do {

$toDelete = 16;
$lines = file('strona.html');
unset($lines[$toDelete]);
file_put_contents('strona.html', $lines);
$start ++;

} while ($start != $koniec2);

?>


Ten post edytował Tomek58 29.07.2008, 20:26:20
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 18:14