(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
uchwytzostał utworzony za pomocą fopen() w trybie dopisywania, zapis do pliku jest niepodzielny (chyba, że rozmiarłańcucha 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";
}
?>