Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Funkcja isset
VonPiter
post 20.12.2007, 23:52:13
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 20.12.2007

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


Witam
Dopiero zaczynam zabawe z PHP i niestety mam maly problem, a mianowicie.
Mam skrypt ktory pakuje zawartosc katalogu db pod nazwa data+godzina.zip i umieszcza ten plik w katalogu kopia_bazy. Tu dziala wszystko 
ok. problem jest prz rozpakowywaniu pliku. Odczytywana jest zawartosc katalogu
kopia_bazy i wyswietlana jest na ekranie zawartosc tego katalogu. Docelowo mialo
byc tak, ze po kliknieciu na danym pliku, rozpakowywany jest on w katalogu db. 
No wlasnie tyle, ze nie zabardzo moge sobie z tym poradzic. Pliki na ekranie
wyswietlane sa jako linki, nazwa pliku przekazywana jest w zmiennej $file. Link
wyglada tak  /?id=recover&&file=20.12.2007__21:30.zip
Nie bardzo rozumiem dzialanie instrukcji isset. Jak napisze cos takiego if (isset($file)) { .....}
to zawartos pomiedzy nawiasami powinna sie wykonac jesli $file bedzie TRUE. W moim
przypadku to nie dziala i nie zabardzo wiem dlaczego. 
Bardzo prosze o pomoc.

oto kod o ktorym pisze.

  1. <html>
  2. <head>
  3. <title>System Archiwizacji</title>
  4. </head>
  5.  <body>
  6. <a href='<? echo "$PHP_SELF?id=save"; ?>'> Archiwizuj</a><br>
  7. <a href='<? echo "$PHP_SELF?id=recover"; ?>'> Odtwórz</a><br>
  8.  
  9. <?
  10. $file = ''; 
  11.  
  12. include_once('pclzip.lib.php');
  13.  
  14. if($_GET['id']=="save"){
  15. $filename = date("d.m.Y__H:i") . ".zip" ;
  16. $archive = new PclZip("kopia_bazy/" . $filename);
  17. $v_list = $archive->create('db');
  18. if ($v_list == 0) {
  19. die("Error : ".$archive->errorInfo(true));
  20. }
  21. echo "<br>\n Archiwizacja dokonana <br>";
  22. } 
  23.  
  24.  
  25.  
  26. if ($_GET['id']=="recover"){ 
  27. $dir= opendir("./kopia_bazy"); 
  28. echo "<table align='center' valign='top' cellpadding=5 cellspacing=5>"; 
  29. echo "Wybierz okres z jakiego chcesz przywrócic dane<br><br>\n";
  30.  while ($file_name = readdir($dir)) {
  31. if (($file_name!=".") && ($file_name!="..")) { 
  32. echo "<a href='$PHP_SELF?id=recover&&file=$file_name'> $file_name </a><br>\n"; 
  33. }
  34. }
  35.  
  36. if(isset($file)) { 
  37.  
  38. function myPreExtractCallBack($p_event, &$p_header){
  39. $info = pathinfo($p_header['filename']);
  40. if (file_exists($p_header['filename'])) {
  41. echo $p_header['filename']."<BR>";
  42. if (is_dir($p_header['filename'])){
  43. }else{
  44. unlink($p_header['filename']);
  45. }
  46. }
  47. return 1;
  48. }
  49. $archive = new PclZip("kopia_bazy/" . $file_name);
  50. $list = $archive->extract(PCLZIP_OPT_PATH, '',
  51. PCLZIP_CB_PRE_EXTRACT, 'myPreExtractCallBack');
  52.  
  53. echo "Dane przywrócone! <br>";
  54.  
  55. } 
  56. }
  57. ?>
  58. </body>
  59. </html>
  60.  


Ten post edytował VonPiter 21.12.2007, 09:11:35
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 12:45