Escreva algum texto em um arquivo de texto chamado "test.txt":
<?php$number = 9;$str = "Pequim";$file = fopen("test.txt","w");echo vfprintf($file,"Existem %u milhões de bicicletas em %s.", array($número,$str));?>O código acima irá gerar:
40O seguinte texto será gravado no arquivo "test.txt":
Existem 9 milhões de bicicletas em Pequim.A função vfprintf() grava uma string formatada no fluxo de saída especificado (por exemplo: arquivo ou banco de dados).
Ao contrário de fprintf(), os parâmetros em vfprintf() estão em um array. Os elementos da matriz serão inseridos na string principal no sinal de porcentagem (%). Esta função é executada passo a passo. No primeiro sinal %, o primeiro elemento da matriz é inserido, no segundo sinal %, o segundo elemento da matriz é inserido e assim por diante.
Nota: Se houver mais símbolos % do que parâmetros arg, você deverá usar espaços reservados. O espaço reservado é inserido após o símbolo % e consiste em um número e "$". Veja o Exemplo 2.
Dica: Funções relacionadas: fprintf(), printf(), sprintf(), vprintf() e vsprintf()
vfprintf( fluxo,formato,argarray )
parâmetro | descrever |
---|---|
fluxo | Obrigatório. Especifica onde as strings são gravadas/saídas. |
formatar | Obrigatório. Especifica uma string e como formatar variáveis dentro dela. Valores de formato possíveis: %% - retorna um sinal de porcentagem % %b - número binário %c - o caractere correspondente ao valor ASCII %d - Número decimal com sinal (negativo, 0, positivo) %e - Use notação científica em letras minúsculas (por exemplo, 1.2e+2) %E - Use notação científica em maiúsculas (por exemplo, 1.2E+2) %u - Número decimal sem sinal (maior ou igual a 0) %f - número de ponto flutuante (configuração local) %F - número de ponto flutuante (configuração não nativa) %g - a versão mais curta de %e e %f %G - %E e %f mais curtos %o - número octal %s - sequência %x - Número hexadecimal (letras minúsculas) %X - número hexadecimal (letras maiúsculas) Valores de formato adicionais. Deve ser colocado entre % e uma letra (ex. %.2f): + (Adicione + ou - na frente de um número para definir o sinal do número. Por padrão, apenas números negativos são marcados e números positivos não são marcados) ' (Especifica o que usar como preenchimento, o padrão é espaços. Deve ser usado com um especificador de largura. Por exemplo: %'x20s (use "x" como preenchimento)) - (valor da variável de ajuste esquerdo) [0-9] (especifica a largura mínima do valor da variável) .[0-9] (especifica o número de casas decimais ou o comprimento máximo da string) Nota: Se vários valores de formato acima forem usados, eles deverão ser usados na ordem acima e não poderão ser interrompidos. |
Argarray | Obrigatório. Uma matriz com parâmetros que serão inseridos na string de formato em % símbolos. |
Valor de retorno: | Retorna o comprimento da string que está sendo escrita. |
---|---|
Versão PHP: | 5+ |
Escreva algum texto em um arquivo:
<?php$num1 = 123;$num2 = 456;$arquivo = fopen("teste.txt","w");vfprintf($arquivo,"%f%f",array($num1,$num2)) ;?>O seguinte texto será gravado no arquivo "test.txt":
123.000000456.000000Use espaços reservados:
<?php$number = 123;$file = fopen("test.txt","w");vfprintf($file,"Com 2 casas decimais: %1$.2fnSem casas decimais: %1$u",array( $número));?>O seguinte texto será gravado no arquivo "test.txt":
Com 2 casas decimais: 123,00Sem casas decimais: 123Use printf() para demonstrar todos os valores de formato possíveis:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // O caractere ASCII 50 é 2// Nota: O valor do formato "%%" retorna um sinal de porcentagemprintf("%%b = %b <br>",$num1); // Número binárioprintf("%%c = %c <br>",$char); // O ASCII Characterprintf("%%d = %d <br>",$num1); // Número decimal assinadoprintf("%%d = %d <br>",$num2); = %e <br>",$num1); // Notação científica (minúsculas)printf("%%E = %E <br>",$num1); // Notação científica (maiúsculas)printf("%%u = %u <br>",$num1); // Número decimal não assinado (positivo)printf("%%u = %u <br>",$num2); número decimal (negativo)printf("%%f = %f <br>",$num1); // Número de ponto flutuante (configurações locais cientes)printf("%%F = %F <br>",$num1); // Número de ponto flutuante (sem reconhecimento de configurações locais)printf("%%g = %g <br>",$num1); // Menor de %e e %fprintf(" %%G = %G <br>",$num1); // Menor entre %E e %fprintf("%%o = %o <br>",$num1); // Octal numberprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Número hexadecimal (minúsculo)printf("%%X = %X <br >",$num1); // Número hexadecimal (maiúsculo)printf("%%+d = %+d <br>",$num1); // Especificador de sinal (positivo)printf("%%+d = %+d <br>",$num2); // Especificador de sinal (negativo)?>