Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Preloader tworzonego archiwum plików
peja1990
post
Post #1





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Witam serdecznie,
czy mógłby mnie ktoś naprowadzić jak można zrobić preloader dla tworzonego archiwum plików z serwera FTP (.tar.gz).
Nie musi to być preloader w jQuery, wystarczy zwykłe PHP.
Chodzi mi o wyświetlenie wartości procentowej tworzonego archiwum.

---
Po przemyśleniu myślę, że trzeba byłoby uruchomić takie zadanie "w tle" (jeżeli jest to w ogóle możliwe, jeżeli tak to chyba przez cron'a) albo stworzenie skryptu w połączeniu z JS'em.

A Wy co o tym myślicie ?
Jakieś wskazówki czy sugestie ?
Może ktoś z Was miał już kiedyś z tym do czynienia (IMG:style_emoticons/default/smile.gif)
Liczę na wszelką pomoc gdyż dumam nad tym i wydumać nie mogę (IMG:style_emoticons/default/smile.gif)

EDIT:
Po kolejnym przemyśleniu stwierdziłem, że rozwiązanie cron'owe jest najwłaściwsze i planuję napisać skrypt php, który będzie wykonywany cronem cyklicznie np. co kilka godzin albo będzie wykonywany po przejściu na pewną ze stron na której ma zostać wyświetlony wynik i będzie on aktualizował rekordy w bazie mysql które w kolumnie oznaczonej jako "status" nie będzie wartości "100".
Aktualizację chciałbym przeprowadzić na zasadzie zawartości plików w archiwum co miałoby być porównane z zawartością plików które miały zostać spakowane do archiwum.

Co Wy o tym myślicie ?
Jest to według Was realne i dobre rozwiązanie ?
Czy jest w ogóle możliwość policzenia ilości plików w archiwum ?

PODSUMOWUJĄC:
1) Jak dodać/usunąć cronjob'a (plik PHP) z poziomu PHP ?
Plik będzie zawierał skrypt tworzący archiwum plików na serwerze.
2) Jak za pomocą PHP odczytać ilość plików w archiwum (.tar.gz lub ew. .zip) ?


Z poważaniem,
Kamil Dunaj

Ten post edytował peja1990 13.10.2012, 01:08:57
Go to the top of the page
+Quote Post
karakara
post
Post #2





Grupa: Zarejestrowani
Postów: 71
Pomógł: 6
Dołączył: 22.09.2012

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


2)

  1. <?php
  2. $za = new ZipArchive();
  3.  
  4. $za->open('test_with_comment.zip');
  5. print_r($za);
  6. var_dump($za);
  7. echo "numFiles: " . $za->numFiles . "\n";
  8. echo "status: " . $za->status . "\n";
  9. echo "statusSys: " . $za->statusSys . "\n";
  10. echo "filename: " . $za->filename . "\n";
  11. echo "comment: " . $za->comment . "\n";
  12.  
  13. for ($i=0; $i<$za->numFiles;$i++) {
  14. echo "index: $i\n";
  15. print_r($za->statIndex($i));
  16. }
  17. echo "numFile:" . $za->numFiles . "\n";
  18. ?>


http://us2.php.net/manual/en/book.zip.php
http://us2.php.net/manual/en/refs.compression.php

Edit:
a 1) tutaj
http://stackoverflow.com/questions/4421020...te-crontab-jobs

  1. <?
  2. $output = shell_exec('crontab -l');
  3. file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
  4. echo exec('crontab /tmp/crontab.txt');
  5. ?>


Ten post edytował karakara 13.10.2012, 07:55:51
Go to the top of the page
+Quote Post
peja1990
post
Post #3





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Cytat(karakara @ 13.10.2012, 07:46:10 ) *
2)

  1. <?php
  2. $za = new ZipArchive();
  3.  
  4. $za->open('test_with_comment.zip');
  5. print_r($za);
  6. var_dump($za);
  7. echo "numFiles: " . $za->numFiles . "\n";
  8. echo "status: " . $za->status . "\n";
  9. echo "statusSys: " . $za->statusSys . "\n";
  10. echo "filename: " . $za->filename . "\n";
  11. echo "comment: " . $za->comment . "\n";
  12.  
  13. for ($i=0; $i<$za->numFiles;$i++) {
  14. echo "index: $i\n";
  15. print_r($za->statIndex($i));
  16. }
  17. echo "numFile:" . $za->numFiles . "\n";
  18. ?>


http://us2.php.net/manual/en/book.zip.php
http://us2.php.net/manual/en/refs.compression.php

Edit:
a 1) tutaj
http://stackoverflow.com/questions/4421020...te-crontab-jobs

  1. <?
  2. $output = shell_exec('crontab -l');
  3. file_put_contents('/tmp/crontab.txt', $output.'* * * * * NEW_CRON'.PHP_EOL);
  4. echo exec('crontab /tmp/crontab.txt');
  5. ?>


Wielkie dzięki mistrzu !
Odpowiedź na drugie pytanie dotyczące ilości spakowanych plików działa super (IMG:style_emoticons/default/wink.gif)
Jednak co do cronjob'a nie jest już tak wesoło gdyż póki co nie przetestowałem tego... ponieważ nie znam ścieżki do pliku na swoim serwerze, który przechowuje zadania cron, a wolałbym przed tym zrobić jego kopię zapasową na wszelki wypadek.
Przetestuję to dopiero gdy admin mojego serwera poda mi do niego ścieżkę (IMG:style_emoticons/default/smile.gif)
Ale megaaaa WIELKIE dzięki (IMG:style_emoticons/default/smile.gif)


Serdecznie pozdrawiam,
Kamil Dunaj
Go to the top of the page
+Quote Post
karakara
post
Post #4





Grupa: Zarejestrowani
Postów: 71
Pomógł: 6
Dołączył: 22.09.2012

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


/tmp/crontab.txt to plik ktory ty tworzysz gdzie chcesz
a pozniej przekazujesz jako argument do crontab przy wywołaniu

nie wiem tylko jak to się ma do uprawnienie na serwerze itp.
Go to the top of the page
+Quote Post
peja1990
post
Post #5





Grupa: Zarejestrowani
Postów: 150
Pomógł: 1
Dołączył: 4.12.2010

Ostrzeżenie: (10%)
X----


Cytat(karakara @ 13.10.2012, 10:00:39 ) *
/tmp/crontab.txt to plik ktory ty tworzysz gdzie chcesz
a pozniej przekazujesz jako argument do crontab przy wywołaniu

nie wiem tylko jak to się ma do uprawnienie na serwerze itp.


Skora tak to super, a więc przetestuję to gdy wrócę z miasta.
Karakara, jeżeli możesz odezwij się do mnie na GG: 41012323 (IMG:style_emoticons/default/smile.gif)

A co do cron'a, to odpowiedź od administratora mojego serwera:
  1. Pliki cronów znajdują się w katalogu:
  2. /var/spool/cron/crontabs
  3.  
  4. Proszę zauważyć, iż poprawne dodanie np. rekordu do crona powinno się odbywać poprzez komendę "crontab" - samo edytowanie plików cronów nic nie da.

a więc czy będzie to możliwe ?

-----
UPDATE:
Zapewne powyższe pytanie jest głupie bo przecież shell_exec() przekazujemy komendę do serwera, prawda ? (IMG:style_emoticons/default/smile.gif)

Ten post edytował peja1990 13.10.2012, 11:50:38
Go to the top of the page
+Quote Post

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: 25.08.2025 - 17:31