Advertisement
ShadyPL

zamiana słówek w pliku | replace words in a file (PHP)

Feb 23rd, 2013
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.68 KB | None | 0 0
  1. <?php
  2. ////////////////////////////////////////////////////////////
  3. //////// script created by Shady on GNU/GPL license ////////
  4. ////////  gg 15530223 | mail izzypjchamp@gmail.com  ////////
  5. ////////////////////////////////////////////////////////////
  6.  
  7. define('PATH', './pliki/'); //ścieżka katalogu, w którym znajdować sie będą wszystkie pliki
  8.  
  9. $before = array('a', 'd', 'polska'); //lista słów, które mają zostać zmienione
  10. $after = array('b', 'c', 'anglia'); //lista zmienionych słów
  11. //ta konfiguracja zamieni a na b, d na c, a polska na anglia
  12. //nowe słowa dodajemy po przecinku i w apostrofach
  13.  
  14. if(empty($_GET['file'])) die('Nie podano pliku do zamiany');
  15. //jeśli nie podano ścieżki pliku
  16. elseif(!file_exists(PATH.$_GET['file'])) die('Podany plik nie istnieje w folderze');
  17. //jeśli nie ma takiego pliku w folderze
  18.  
  19. $input = @file(PATH.$_GET['file']) or die('Nie udalo sie otworzyc pliku');
  20. //otwarcie pliku w celu pobrania jego zawartości
  21. $output = ''; //zdeklarowanie zmiennej przechowującej treść nowego pliku
  22. foreach($input as $line) //przetworzenie linijki po linijce
  23. {
  24.     $line = str_replace($before, $after, trim($line)); //właściwy proces zamiany słów
  25.     $output .= $line;
  26. }
  27.  
  28. if(!copy(PATH.$_GET['file'], PATH.$_GET['file'].'.bak')) die('Nie udalo sie backepowac pliku');
  29. //utworzenie backupu pliku w razie wystąpienia jakichkolwiek komplikacji ;)
  30.  
  31. file_put_contents(PATH.$_GET['file'], ''); //wyczyszczenie całego pliku przed nadpisaniem
  32.  
  33. $stream = @fopen(PATH.$_GET['file'], 'r+') or die('Nie udalo sie zapisac pliku');
  34. fwrite($stream, $output); //nadpisanie w plik nowej treści
  35. fclose($stream);
  36.  
  37. echo 'Poprawnie zamieniono plik '.$_GET['file'];
  38. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement