Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Problem z kasowaniem pliku.
-piotrek5402-
post
Post #1





Goście







Witam, mam problem z tym kodem:
  1. $tablica = file("zips/info.dat",FILE_SKIP_EMPTY_LINES);
  2. for($x=0; $x <= count($tablica)-1;$x++)
  3. {
  4. $czas = explode(" ",$tablica[$x]);
  5. if($time >= $czas[0] + 7200)
  6. {
  7. print "<br/>Upłynął czas pliku:".$czas[1];
  8. $nazwa = "zips/qwe_MCreator.zip";
  9. unlink($nazwa);
  10. print " - Został on pomyślnie usunięty";
  11. }
  12. }

Ma on odczytywać z pliku info.dat informacje kiedy został plik utworzony i jego ścieżkę.Niby wszystko działa ale gdy zamiast:
  1. $nazwa = "zips/qwe_MCreator.zip";

Dam tak jak ma być:
  1. $nazwa = $czas[1];

To wywala error:

Warning: unlink(zips/asd_MCreator.zip ) [function.unlink]: Invalid argument in C:\xampp\htdocs\generate.php on line 52

nie wiem o co chodzi.Jak dam echo $czas[1]; to normalnie pokazuje mi ścieżkę (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
17misiek09
post
Post #2





Grupa: Zarejestrowani
Postów: 137
Pomógł: 8
Dołączył: 16.12.2011
Skąd: Kraków

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


jaka jest treść pliku generate.php?cały - żeby można było wyłapać linię 52
Go to the top of the page
+Quote Post
piotrooo89
post
Post #3


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




Cytat(17misiek09 @ 6.01.2012, 10:44:23 ) *
jaka jest treść pliku generate.php?cały - żeby można było wyłapać linię 52


nie potrzeba, widać gdzie jest błąd.

a czy plik istnieje? bo jeśli nie istnieje (lub nie w razie niepowodzenia) to unlink generuje E_WARNING.
Go to the top of the page
+Quote Post
-piotrek5402-
post
Post #4





Goście







Linia 52 jest to :
  1. unlink($nazwa);


Dodam jeszcze że zmienna $time pochodzi od
  1. $time = time();

Zrobiłem to tak aby w całym kodzie był ten sam czas.Cały kod jest na 100% niepotrzebny bo jest to wina chyba rodzaju zmiennej, bo jak już wspomniałem sam wpisze to normalnie kasuje a jak napiszę żeby brało z pliku to nie działa.A ścieżka jest pobierana bo sprawdziłem echo.
Go to the top of the page
+Quote Post
-piotrek5402-
post
Post #5





Goście







Plik isnieje, jak by nie istniał to by wypluło "no such file or directory".
(Sorka za post pod postem ale edytować nie mogę.)
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #6





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Spróbuj:
  1. unlink((string)$nazwa);


Ten post edytował wNogachSpisz 6.01.2012, 11:30:35
Go to the top of the page
+Quote Post
-piotrek5402-
post
Post #7





Goście







Tak samo (IMG:style_emoticons/default/tongue.gif)
Dodam że teraz testuję to na XAMPP, pod windowsem. A czytałem że mogą być problemy z tą komenda pod windowsem.Ale to nie wyjaśnia tego że gdy sam wpiszę ścieżkę to działa (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




zobacz wpisujesz:

Kod
zips/qwe_MCreator.zip


a w zmiennej masz:

Kod
zips/asd_MCreator.zip


więc ponawiam pytanie, czy masz plik : zips/asd_MCreator.zip ?
Go to the top of the page
+Quote Post
-piotrek5402-
post
Post #9





Goście







Tak, mam. Oto cały kod programu:
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  4. <head>
  5. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  6. </head>
  7. <body bgcolor="#222222" text=white>
  8. <?php
  9. $archive = new ZipArchive;
  10. $nazwa = $_POST['name'];
  11.  
  12.  
  13.  
  14. if(file_exists("zips/".$nazwa."_MCreator.zip")) // Sprawdzenie czy plik istnieje
  15. {
  16. print "<font color=red>Taka nazwa już istnieje ! Wybierz inną nazwę !</font><br/>";
  17. }
  18. else
  19. {
  20. if($archive->open("zips/".$nazwa."_MCreator.zip",ZipArchive::CREATE) != true) print '<font color=red>Wystąpił błąd - spróbuj ponownie później</font><br/>';
  21. else
  22. {
  23. //Gdy wszystko idzie dobrze, zostają pobrane informacje jakie pliki mają być w archiwum.
  24. if($_POST['commandbook'] == true) $archive->addFile("serwer/plugins/commandbook.jar");
  25. }
  26.  
  27. $archive->close(); // Zamknięcie dodawania
  28. print "Zakończono ! Kliknij tutaj aby pobrać swój plik:<br/>";
  29. print '<a href="'."zips/".$nazwa."_MCreator.zip".'"><font color=green>_______[DOWNLOAD]_______</font></a><br/>';
  30. print '<font color=#00CCFF>W celu oszczędzania zasobów twój plik zostanie skasowany za 2h.</font>';
  31.  
  32. $time = time();
  33.  
  34. //zapis informacji do pliku
  35. $fp = fopen("zips/info.dat", "a");
  36. flock($fp, LOCK_EX);
  37. for($a=0; $a == count($tablica)+1; $a++)
  38. {
  39. fputs($fp, "\n");
  40. }
  41. fputs($fp, $time.' '.$nazwa."_MCreator.zip\n");
  42. flock($fp, LOCK_UN);
  43.  
  44. //wczytanie informacji i skasowanie starych plików
  45. $tablica = file("zips/info.dat",FILE_SKIP_EMPTY_LINES);
  46. print '<font color=#00CCFF><br/>W ciągu ostatnich 2 godzin wygenerowano '.count($tablica).' plik/ów :)</font>';
  47. for($x=0; $x <= count($tablica)-1;$x++)
  48. {
  49. $czas = explode(" ",$tablica[$x]);
  50. if($time >= $czas[0] + 7200)
  51. {
  52. print "<br/>Upłynął czas pliku:".$czas[1];
  53. $nazwa = "zips/".$czas[1];
  54. unlink((string)$nazwa);
  55. print " - Został on pomyślnie usunięty";
  56. }
  57. }
  58. }
  59. ?>
  60. </body>
  61. </html>


Zawartość pliku info.dat:
Kod
1325800000 asd_MCreator.zip


i zawartość pliku z formularzem:

  1. "http://www.w3c.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  5. </head>
  6. <body bgcolor="#222222" text=white>
  7. <form action="generate.php" method="POST">
  8. <b>Pluginy:</b> <br/>
  9. <label><input type="checkbox" name="commandbook" value=true /><font color=green>[1.7]</font>CommandBook <br/></label>
  10. <label><input type="checkbox" name="simpleafk" value=true /><font color=green>[0.8]</font>SimpleAFK <br/></label>
  11. <label><input type="checkbox" name="worldedit" value=true /><font color=green>[5.0]</font>WorldEdit <br/></label>
  12. <b>Inne opcje:</b> <br/>
  13. Nazwa paczki:<input name="name" /><br/>
  14.  
  15. <input type="submit" value="Generuj !" /> <br/>
  16. <br/>
  17. </body>
  18. </form>
  19. <font color=#00CCFF>MCOnlineServerCreator v1.0 by piotrek5402</font>
  20. </html>
Go to the top of the page
+Quote Post
wNogachSpisz
post
Post #10





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Pierrrunie...
Coś mi świta, kiedyś chyba natrafiłem na taki problem, pamiętam że powodem był BUG w biblitece ZIP właśnie pod Windowsem.
Ale nie potrafie sobie przypomnieć o co dokładnie chodziło...
Go to the top of the page
+Quote Post
piotrooo89
post
Post #11


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a czy ten plik ma prawa do tego aby go usunąć?
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: 22.12.2025 - 01:54