(PHP 4, PHP 5)
fwrite — Escrita binary-safe em arquivos
$handle
, string $string
[, int $length
] )
fwrite() escreve o conteúdo da
string
para o stream de arquivo apontado por
handle
.
handle
A file system pointer resource that is typically created using fopen().
string
A string a ser escrita.
length
Se o argumento comprimento
for dado, a escrita irá
parar depois que comprimento
bytes tenham sido escritos ou
o final da string
seja alcançado, o que vier
primeiro.
Observe que se o argumento comprimento
for dado,
a opção de configuração magic_quotes_runtime
será ignorada e nenhuma barra será removida da string
.
fwrite() retorna o número de bytes
escritos, ou FALSE
em caso de erro.
Nota:
Em sistemas que diferenciam entre arquivos binários e texto (por exemplo Windows) o arquivo tem que ser aberto com 'b' incluído no parâmetro 'mode' na fopen().
Nota:
Se o
handle
foi aberto com fopen() em modo de adição, escritas com fwrite() são atômicas (a não ser que o tamanho dastring
exceda o tamanho de bloco do sistema de arquivos, em algumas plataformas, e contanto que o arquivo esteja em um sistema de arquivos local). Sendo assim, não há necessidade de bloquear um recurso com flock() antes de chamar fwrite(); todos os dados serão escritos sem interrupção.
Nota:
Se escrevendo duas vezes para o ponteiro do arquivo, então a informação será adicionado ao final do contéudo do arquivo, significando que o exemplo abaixo não funcionaria como esperado:
<?php
$fp = fopen('data.txt', 'w');
fwrite($fp, '1');
fwrite($fp, '23');
fclose($fp);
// o conteúdo de 'data.txt' agora é 123 e não 23!
?>
Exemplo #1 Um simples exemplo de fwrite()
<?php
$filename = 'teste.txt';
$conteudo = "Acrescentar isso ao arquivo\n";
// Primeiro vamos ter certeza de que o arquivo existe e pode ser alterado
if (is_writable($filename)) {
// Em nosso exemplo, nós vamos abrir o arquivo $filename
// em modo de adição. O ponteiro do arquivo estará no final
// do arquivo, e é pra lá que $conteudo irá quando o
// escrevermos com fwrite().
if (!$handle = fopen($filename, 'a')) {
echo "Não foi possível abrir o arquivo ($filename)";
exit;
}
// Escreve $conteudo no nosso arquivo aberto.
if (fwrite($handle, $conteudo) === FALSE) {
echo "Não foi possível escrever no arquivo ($filename)";
exit;
}
echo "Sucesso: Escrito ($conteudo) no arquivo ($filename)";
fclose($handle);
} else {
echo "O arquivo $filename não pode ser alterado";
}
?>