🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.php
5 messages
5 total messages Started by Tadziu Mon, 25 May 2020 20:34
funkcja time() w pętli while i zip-owanie dziwne zachowanie
#232553
Author: Tadziu
Date: Mon, 25 May 2020 20:34
55 lines
2133 bytes
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

---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
Re: funkcja time() w pętli while i zip-owanie dziwne zachowanie
#232554
Author: Lemat
Date: Tue, 26 May 2020 04:36
66 lines
2440 bytes
W dniu 25.05.2020 o 22:34, Tadziu pisze:
> 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
> 
> ---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.
> 


zrób testowy skrypt:

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

i pokaż wynik.
-- 
Pozdrawiam
Lemat
Re: funkcja time() w pętli while i zip-owanie dziwne zachowanie
#232555
Author: Tadziu
Date: Tue, 26 May 2020 09:19
109 lines
3560 bytes
Lemat wrote:

> W dniu 25.05.2020 o 22:34, Tadziu pisze:
> > 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
> > 
> > ---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.
> > 
> 
> 
> zrób testowy skrypt:
> 
> for($i=1;$i<5;$i++) {
> 	echo time();
> 	sleep(10);
> 	}
> 
> i pokaż wynik.

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

-- 
Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast.
https://www.avast.com/antivirus
Re: funkcja time() w pętli while i zip-owanie dziwne zachowanie
#232556
Author: Lemat
Date: Tue, 26 May 2020 11:01
117 lines
3945 bytes
W dniu 26.05.2020 o 11:19, Tadziu pisze:
> Lemat wrote:
> 
>> W dniu 25.05.2020 o 22:34, Tadziu pisze:
>>> 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
>>>
>>> ---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.
>>>
>>
>>
>> zrób testowy skrypt:
>>
>> for($i=1;$i<5;$i++) {
>> 	echo time();
>> 	sleep(10);
>> 	}
>>
>> i pokaż wynik.
> 
> 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
> 

OK, chyba wiem.
procedura zipowania jest uruchamiana nie podczas addfile() tylko podczas 
close()

dlatego addFile masz natychmiastowe a close() bardzo wolne.

-- 
Pozdrawiam
Lemat
Re: funkcja time() w pętli while i zip-owanie dziwne zachowanie
#232557
Author: Tadziu
Date: Tue, 26 May 2020 11:27
127 lines
4655 bytes
Lemat wrote:

> W dniu 26.05.2020 o 11:19, Tadziu pisze:
> > Lemat wrote:
> > 
> > > W dniu 25.05.2020 o 22:34, Tadziu pisze:
> > > > 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
> > > > 
> > > > ---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.
> > > > 
> > > 
> > > 
> > > zrób testowy skrypt:
> > > 
> > > for($i=1;$i<5;$i++) {
> > > 	echo time();
> > > 	sleep(10);
> > > 	}
> > > 
> > > i pokaż wynik.
> > 
> > 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
> > 
> 
> OK, chyba wiem.
> procedura zipowania jest uruchamiana nie podczas addfile() tylko
> podczas close()
> 
> dlatego addFile masz natychmiastowe a close() bardzo wolne.

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!

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

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads