(PHP 4, PHP 5)
fwrite — Zapis pliku binarnie bezpieczny
$uchwyt
, string $łańcuch
[, int $długość
] )
fwrite() zapisuje treść
łańcuch
do strumienia pliku wskazanego przez
uchwyt
.
uchwyt
Wskaźnik do systemu plików typu resource jest zazwyczaj tworzony poprzez funkcję fopen().
łańcuch
Łańcuch znaków, który ma być zapisany.
długość
Jeśli podany jest argument długość
, zapisywanie
zakończy się po zapisaniu długości
bajtów lub
gdy osiagnięty zostanie koniec łańcucha
, cokolwiek zdarzy
się pierwsze.
Zauważ, że jeśli argument długość
zosta podany,
to konfiguracja magic_quotes_runtime
zostaje zignorowana i żadne slashe nie zostaną usunięte z
łańcucha
.
fwrite() zwraca liczbę zapisanych bajtów
lub FALSE
w przypadku błędu.
Informacja:
W systemach, które rozróżniają pliki na binarne i tekstowe (np. Windows) plik musi zostać otworzony z 'b' włączonym do parametru tryb funkcji fopen().
Informacja:
Jeśli
uchwyt
został utworzony za pomocą fopen() w trybie dopisywania, zapis do pliku jest niepodzielny (chyba, że rozmiarłańcuch
a przekracza blok systemu plików, na niektórych platformach, przy założeniu, że plik jest na lokalnym systemie plików). Jeśli tak, to nie ma potrzeby flock()owanie zasobu przed wywołaniem fwrite(); wszystkie dane zostaną zapisane bez przerywania.
Informacja:
Jeśli, zapiszemy dwukrotnie do wskaźnika pliku, dane zostaną dołączone na koncu treści pliku, oznacza to, że poniższy przykład nie zadziała jak się tego spodziewamy.
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// plik 'data.txt' ma treść 123, a nie 23!
?>
Przykład #1 Prosty przykład fwrite()
<?php
$nazwapliku = 'test.txt';
$trochetresci = "Dodaj to do pliku\n";
// Najpierw przekonaj się czy plik istnieje i jest zapisywalny.
if (is_writable($nazwapliku)) {
// W naszym przykładzie otwieramy $nazwapliku w trybie dopisywania.
// Wskaźnik pliku jest ustawiony na końcu pliku gdzie znajdzie
// się zawartość $trochetresci po wykonaniu fwrite().
if (!$uchwyt = fopen($nazwapliku, 'a')) {
echo "Nie mogę otworzyć pliku ($nazwapliku)";
exit;
}
// Zapis $trochetresci do naszego otwartego pliku.
if (fwrite($uchwyt, $trochetresci) === FALSE) {
echo "Nie mogę zapisać do pliku ($nazwapliku)";
exit;
}
echo "Sukces, zapisano ($trochetresci) do pliku ($nazwapliku)";
fclose($uchwyt);
} else {
echo "Plik $nazwapliku nie jest zapisywalny";
}
?>