Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Obsługa pliku
Forum PHP.pl > Forum > PHP
Fixus
Witam.

Potrzebuje w sposób dynamiczny modyfikowac plik .htaccess. Nie mogę do niego powstawiać zmiennych i funkcji dlatego chce to zrobić operując na plikach.
1. czy skrypt php może modyfikować taki rodzaj pliku? Bo tego nie jestem pewien
2. Jeżeli może to nie do końca wiem jak to wykonać...początek obstawiam, że będzie taki
Kod
$dir = ".htaccess"; // nazwa pliku który chce otworzyć
$fp = fopen($dir, "r");  //$fp - uchwyt pliku
while(!feof($fp)) {  // dopóki pętla znacznik nie dojdzie do końca pliku jest czytany jeden znak i znacznik przesunięty o jeden
$data = fgetc($fp);  // $data - zawartość pliku
}

Czy tak może być?
No i teraz kolejny problem. Bo nie wiem jak podczas zapisu do zmiennej $data dopisać OD NOWEJ LINI kolejne instrukcję, a potem zostawić kolejną linie wolną?


Jeżeli ktoś ma lepszy pomysł będe wdzięczny za przedstawienie go smile.gif
zimi
Cytat
czy skrypt php może modyfikować taki rodzaj pliku

przecież napisałem Ci w poprzednim poście że można, poza tym najszybciej, najłatwiej, naj.... jest to sprawdzić...
Cytat
początek obstawiam, że będzie taki

niekoniecznie, skoro chcesz tylko coś dopisywać przeczytaj o trybie otwierania plików "a" w funkcji fopen" title="Zobacz w manualu PHP" target="_manual
jak chcesz dopisać nową linię wolną to po prostu w funkcji fwrite" title="Zobacz w manualu PHP" target="_manual dopisujesz w cudzysłowach \n albo między apostofami enter, oprócz tekstu który chcesz wpisać... nie ma w tym zbyt wiele filozofii

PS. nie czaję po co założyłeś drugi taki topic skoro pytanie cały czas to samo O.o
Fixus
No i jest taki problem:
Kod
$dir = "cos.htaccess";
$fp = fopen($fp, "a");
if(!$fp) { echo "plik nie został otwarty<br />"; }
$wpis = "text";
if(!fwrite($fp, $wpis)) { echo "wpis się nie udał"; }
fclose($fp);


Wyświetla napis że plik nei został otwarty no oczywiście, że wpis się nie udał. Sprawdziłem ścieżka dobra, CHMOD ustawione na 777
ARJ
@Fixus tworzysz zmienną dir do której przypisujesz nazwe pliku do otwarcia ale linijkę niżej zamiast jej użyć używasz zmiennej fp.

  1. <?php
  2. $dir = "cos.htaccess";
  3. $fp = fopen($dir, "a");
  4. ?>
Fixus
hah faktycznie ! dzięki...a jeszcze jedna sprawa...bo gdy zapisuje coś z polskimi znakami to strasznie krzaczy...można temu jakoś zaradzić bez pozbywania się polskich znaków?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.