Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zapis pliku
henio
post 22.07.2008, 12:13:52
Post #1





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Fragment kodu
  1. <?php
  2. // Sprawdzenie czy został wyedytowany plik i wciśnięto przycisk akcji
  3. if(@$_POST['czy1'] && @$_POST['plik2'] && @$_POST['plikstary'] && @$_POST['nazwa_plik'])
  4. {
  5. // Wyświetlenie nagłówka strony
  6. naglowek("Musisz podać więcej danych");
  7. include("naglowek.php");
  8. include("menu.php");
  9. echo "<div id=\"tresc\">\n";
  10. echo "Dane zostały zmienione\n";
  11.  
  12. // Utworzenie kopii zapasowej starego pliku
  13. $plik1 = fopen("../podstrony/kopia-".$_POST['nazwa_plik']."", "w");
  14. fputs($plik1, $_POST['plikstary']);
  15.  
  16. //  
  17. $plik2 = fopen("../podstrony/".$_POST['nazwa_plik']."", "w+");
  18. fputs($plik2, $_POST['plikstary']);
  19. }
  20. ?>


Tu jest fragment kodu, który ma nadpisać istniejący plik w celu jego edycji oraz sotworzyć kopię pliku z wersją przed edytowaniem.

Kopia jest tworzona, ale plik już istniejący nie ulega zmianie. Szukałem w trybach otwarcia pliku w fukncji fopen i nic. Pytam więc o poradę
Go to the top of the page
+Quote Post
neverever
post 22.07.2008, 12:32:23
Post #2





Grupa: Zarejestrowani
Postów: 278
Pomógł: 44
Dołączył: 17.02.2004
Skąd: Wieliczka

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


  1. <?php
  2. ...
  3.  
  4. $plik1 = fopen('../podstrony/kopia-'.$_POST['nazwa_plik'], 'w');
  5. fputs($plik1, $_POST['plikstary']);
  6.  
  7. $plik2 = fopen('../podstrony/'.$_POST['nazwa_plik'], 'w+');
  8.  
  9. ...
  10. ?>


--------------------
neverever
Go to the top of the page
+Quote Post
nexis
post 22.07.2008, 12:40:09
Post #3





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Może coś takiego pomoże:

  1. <?php
  2. /*
  3.  * $_POST['nazwa'] - nazwa pliku (np. plik.txt)
  4.  * $_POST['tresc'] - zawartość pliku (np. Hello World!)
  5. */
  6. if (isset($_POST['nazwa'], $_POST['tresc'])) {
  7.  
  8.  // Tworzenie kopii zapasowej
  9.  if (!file_exists($_POST['nazwa'])) exit('Plik "' . $_POST['nazwa'] . '" nie istnieje!');
  10.  $backup = file_get_contents($_POST['nazwa']);
  11.  file_put_contents($_POST['nazwa'] . '.backup', $backup); // plik.txt.backup
  12.  
  13.  // Zapisanie zmian
  14.  file_put_contents($_POST['nazwa'], $_POST['tresc']);
  15. }
  16. ?>


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
henio
post 22.07.2008, 12:40:33
Post #4





Grupa: Zarejestrowani
Postów: 237
Pomógł: 1
Dołączył: 15.10.2004
Skąd: Lublin

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


Dzięki. Już wiem gdzie był błąd. Siadłem po jakimś czasie i go zauważyłem
Go to the top of the page
+Quote Post

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: 18.07.2025 - 01:38