Forum und email

fwrite

(PHP 4, PHP 5)

fwrite — Escrita binary-safe em arquivos

Descrição

int fwrite ( resource $handle , string $string [, int $comprimento ] )

fwrite() escreve o conteúdo da string para o stream de arquivo apontado por handle .

Parâmetros

handle

Um ponteiro para o sistema de arquivos resource é tipicamente criado usando 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 .

Valor Retornado

fwrite() retorna o número de bytes escritos, ou FALSE em caso de erro.

Notas

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 da string 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.

Exemplos

Example#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";
}
?>