Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

funkcja time() w pętli while i zip-owanie dziwne zachowanie

12 views
Skip to first unread message

Tadziu

unread,
May 25, 2020, 4:28:19 PM5/25/20
to
Dzień dobry,

jestem po 2 dniach testów i ręce mi opadają bo logiki na moją wiedzę
brak ! ...


dziłająca opcja bardzo wolna otwiera i zamyka plik po dodaniu
pojedynczego pliku do archiwum ...

---START v01--
$zip = new ZipArchive;

while( $files = array_pop( $files_to_save ) )
{
$zip->open($zipDATING);
$zip->addFile($files, $relativePath);
echo time(); //to przez cały czas około 120 sekund zwraca tę samą
wartość
$zip->close();
}
---STOP v01--



nie dziłająca opcja bardzo wolna!

---START v02--
$zip = new ZipArchive;
$zip->open($zipDATING);

while( $files = array_pop( $files_to_save ) )
{
$zip->addFile($files, $relativePath);
echo time(); //to przez cały czas około 120 sekund zwraca tę samą
wartość
}

$zip->close();
---STOP v02--

czy może ktoś podpowiedzieć dlaczego się tak dzieje? lub jak to
wyeliminować?

z góry dziękuję,

pozdrawiam Tadziu.

--
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus

Tadziu

unread,
May 25, 2020, 4:34:59 PM5/25/20
to
From: "Tadziu" <testerr@o_2.pl>
Subject: funkcja time() w pętli while i zip-owanie dziwne zachowanie
Date: Mon, 25 May 2020 20:28:17 +0000 (UTC)
Message-ID: <rah9p1$eep$1...@news.icm.edu.pl>
Lines: 51

Dzień dobry,

jestem po 2 dniach testów i ręce mi opadają bo logiki na moją wiedzę
brak ! ...


dziłająca opcja bardzo wolna otwiera i zamyka plik po dodaniu
pojedynczego pliku do archiwum ...

---START v01--
$zip = new ZipArchive;

while( $files = array_pop( $files_to_save ) )
{
$zip->open($zipDATING);
$zip->addFile($files, $relativePath);
echo time(); //działa poprawnie są zmiany w czasie
$zip->close();
}
---STOP v01--



nie dziłająca opcja

Lemat

unread,
May 26, 2020, 12:36:31 AM5/26/20
to
W dniu 25.05.2020 o 22:34, Tadziu pisze:
zrób testowy skrypt:

for($i=1;$i<5;$i++) {
echo time();
sleep(10);
}

i pokaż wynik.
--
Pozdrawiam
Lemat

Tadziu

unread,
May 26, 2020, 5:19:47 AM5/26/20
to
Witam,

oczywiście działa
1590484214 1590484224 1590484234 1590484244
i w poprzednim przypadku jak testowałem header("Location: xxxx.php"); z
pętlą 1 sec też działało przez półtorej godziny ... nierozumiem
dlaczego nie dzial w tym konkretnym przypadku ...

<?php
ob_start();
$czas=time();
$zipDATING = '_' . date('Y_m_d-H_i-s') . '_';
echo '<center><h4>',$zipDATING,'START</center>';

for ($x = 0; $x <= 200; $x++) {
echo "The number is: $x <br>";
sleep(1);
$zipDATING = '_' . date('Y_m_d-H_i-s') . '_';

$file = 'test.txt';
$person = $x.$zipDATING."\n";
echo $person;
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
echo '<left><h4>',$x.$zipDATING,'</left>';

$roznica = $czas + 105;

if ( $roznica < time() ) {

$file = 'test.txt';
file_put_contents($file, "KONIEC\n\n" , FILE_APPEND | LOCK_EX);


header("Location: test_header_die2.php");
die();
}}

pozdrawiam
Tadziu

Lemat

unread,
May 26, 2020, 7:02:02 AM5/26/20
to
W dniu 26.05.2020 o 11:19, Tadziu pisze:
OK, chyba wiem.
procedura zipowania jest uruchamiana nie podczas addfile() tylko podczas
close()

dlatego addFile masz natychmiastowe a close() bardzo wolne.

--
Pozdrawiam
Lemat

Tadziu

unread,
May 26, 2020, 7:27:27 AM5/26/20
to
Tak więc najrozządniej byłoby zliczyć ile jest w tablicy plików i w
zależności tak odpalać addfile() aby za jednym zamachem próbować dodać
np ~5% plików [jedyny problem to to że pakowane pliki są różne
rozmiarem] ale to już wyjdzie w praniu - dziękuję

P.S.

zaglądam na lemat.priv.pl dużo ciekawych spraw, jestem głodny wiedzy!
0 new messages