Operacje na plikach - problem

0
$plik = $path_root.'chatbox_front.php';
$plik_zamiana = 'chatbox_front/zamiana1.txt';
$plik_zamiana_na = 'chatbox_front/zamiana_na1.txt';
$uchwyt = fopen($plik, 'r');
if ($uchwyt) {
  while (($data = fgets($uchwyt, 4096)) !== false) {
  $tresc = file_get_contents("$plik");
  $zamiana = file_get_contents("$plik_zamiana");
  $zamien = str_replace($zamiana, $plik_zamiana_na, $tresc);
  fputs($uchwyt, $zamien);
  }
  fclose($uchwyt);
}

Dlaczego to nie chce działać? Błędu żadnego, wszystko niby pozytywnie, zmian w pliku nie widać.

1

Przeanalizuj krok po kroku co ty w ogóle robisz, bo zdaje się uprawiasz jakiś random coding.

Szkoda, że nie pokazałeś zawartości plików, byłoby łatwiej, ani też nie opisałeś co ty w ogóle chcesz zrobić.
Domyślam się, że chcesz w pliku chatbox_front.php zmienić wszystkie wystąpienia chatbox_front/zamiana1.txt' na chatbox_front/zamiana_na1.txt' - ale pewnym być nie mogę, bo nie do końca wynika to z kodu, a opisu nie ma.

// do zmiennej $plik przypisujesz ścieżkę do jakiegoś pliku php
$plik = $path_root.'chatbox_front.php';
// do zmiennej przypisujesz jakąś ścieżkę
$plik_zamiana = 'chatbox_front/zamiana1.txt';
// do kolejnej zmiennej przypisujesz ścieżkę
$plik_zamiana_na = 'chatbox_front/zamiana_na1.txt';
// przygotowujesz sobie uchwyt do odczytu pliku chatbox_front.php
$uchwyt = fopen($plik, 'r');
if ($uchwyt) {
  // powtarzasz ten fragment, ładując po 4096 znaków z pliku php
  while (($data = fgets($uchwyt, 4096)) !== false) {
    // pobierasz całą zawartość pliku chatbox_front.php --- PO CO? Linijkę wyżej próbujesz częściami czytać ten plik, żeby w tym momencie załadować jego całą zawartość
    $tresc = file_get_contents("$plik");
    // wczytujesz całą zawartość pliku zamiana1.txt
    $zamiana = file_get_contents("$plik_zamiana");
    // próbujesz wyszukać w całym pliku chatbox_front.php CAŁEJ ZAWARTOŚCI pliku zamiana1.txt (nie jego nazwy!) i zamienić ją na nazwę i ścieżkę pliku zamiana_na1.txt
    $zamien = str_replace($zamiana, $plik_zamiana_na, $tresc);
    // próbujesz coś wrzucić do pliku, pomimo, że otworzyłeś go jako tylko do odczytu
    fputs($uchwyt, $zamien);
    // bez sensu powtarzasz ten krok, aż skończy się plik chatbox_front.php, chociaż na zmiennej $data do której wczytujesz dane W OGÓLE nie operujesz
  }
  fclose($uchwyt);
}

Czyli cały kod nie ma najmniejszego sensu.
Teraz powiedz mi co chciałeś uzyskać i podaj zawartość tych plików.

Jeżeli chcesz zmienić ścieżkę w jakimś pliku to może otwórz to w notatniku, wciśnij bodajże CTRL+H, i używając tej wbudowanej funkcji zamień to, co potrzebujesz - bo zdaje się, że próbujesz wynajdywać koło od nowa używając zlepka tutoriali z internetu o operacji na plikach, a o php nie masz bladego pojęcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1