logomarca lojamundi
icone vendedor fabricio icone vendedor davi icone vendedor jakeline icone vendedor moises icone vendedor arthur icone fale ao vivo
Contatos
61 99137 5620

11 2666 4242
21 2169 8855
31 4042 1799
Outros Telefones
logomarca lojamundi
botão minha contabotão entrarbotão cadastro
botão servicosbotão blogbotão contato
Manuais

Funções do Dialplan do Asterisk 21
Comando:

FILE()


Descrição:
A função FILE() permite ler e escrever em arquivos de texto, tanto em modo de caracteres (bytes) quanto em modo de linhas. É útil para manipular dados armazenados em arquivos diretamente no dialplan do Asterisk.

A sintaxe geral é FILE(filename, offset, length, options, format), onde:
  • filename: O caminho para o arquivo.
  • offset: A posição inicial para leitura ou escrita. Pode ser um número positivo (byte ou linha), ou negativo (contagem a partir do final do arquivo).
  • length: O número de bytes ou linhas a serem lidos ou escritos. Pode ser negativo para indicar o número de bytes/linhas a serem removidos do final do arquivo.
  • options: Opções para controlar o modo de operação (l para modo de linha, a para anexar, d para não adicionar nova linha em escrita).
  • format: Especifica o formato de quebra de linha (u para Unix, d para DOS, m para Macintosh).
Exemplos de leitura (modo byte):
  • same => n,Set(foo=${FILE(/tmp/test.txt)}): Lê todo o conteúdo do arquivo.
  • same => n,Set(foo=${FILE(/tmp/test.txt,10)}): Lê a partir do 11º byte até o final do arquivo.
  • same => n,Set(foo=${FILE(/tmp/test.txt,10,10)}): Lê do 11º ao 20º byte.
Exemplos de leitura (modo linha):
  • same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)}): Lê a 3ª linha do arquivo.
  • same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)}): Lê a 3ª e 4ª linhas.
  • same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)}): Lê da 3ª linha até o final.
  • same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)}): Lê as últimas 3 linhas.
  • same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)}): Lê a 3ª linha de um arquivo formatado em DOS.
Exemplos de escrita:
  • same => n,Set(FILE(/tmp/test.txt)=bar): Trunca o arquivo e escreve "bar".
  • same => n,Set(FILE(/tmp/test.txt,,,a)=bar): Anexa "bar" ao final do arquivo.
  • same => n,Set(FILE(/tmp/test.txt,0,1)=bar): Substitui o primeiro byte por "bar".
  • same => n,Set(FILE(/tmp/test.txt,20,10)=bar): Substitui 10 bytes a partir do 21º byte por "bar".
  • same => n,Set(FILE(/tmp/test.txt,20)=bar): Substitui todos os bytes a partir do 21º byte por "bar".
  • same => n,Set(FILE(/tmp/test.txt,4,0)=bar): Insere "bar" após o 4º caractere.
Exemplos de escrita (modo linha):
  • same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar): Substitui a primeira linha por "bar".
  • same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar): Substitui a última linha por "bar".
  • same => n,Set(FILE(/tmp/foo.txt,,,al)=bar): Anexa "bar" ao arquivo com uma nova linha.
Observação: Se a opção live_dangerously no arquivo asterisk.conf estiver definida como "no", esta função só pode ser executada a partir do dialplan, e não diretamente de protocolos externos.
Sintaxe:
same => n,Set(foo=${FILE(/tmp/test.txt)})
same => n,Set(foo=${FILE(/tmp/test.txt,10)})
same => n,Set(foo=${FILE(/tmp/test.txt,10,10)})
same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l)})
same => n,Set(foo=${FILE(/tmp/test.txt,3,2,l)})
same => n,Set(foo=${FILE(/tmp/test.txt,3,,l)})
same => n,Set(foo=${FILE(/tmp/test.txt,-3,,l)})
same => n,Set(foo=${FILE(/tmp/test.txt,3,1,l,d)})
same => n,Set(FILE(/tmp/test.txt)=bar)
same => n,Set(FILE(/tmp/test.txt,,,a)=bar)
same => n,Set(FILE(/tmp/test.txt,0,1)=bar)
same => n,Set(FILE(/tmp/test.txt,20,10)=bar)
same => n,Set(FILE(/tmp/test.txt,20)=bar)
same => n,Set(FILE(/tmp/test.txt,4,0)=bar)
same => n,Set(FILE(/tmp/foo.txt,0,1,l)=bar)
same => n,Set(FILE(/tmp/foo.txt,-1,,l)=bar)
same => n,Set(FILE(/tmp/foo.txt,,,al)=bar)
FILE(filename,offset,length,options,format)
Fonte: Asterisk Wiki
Divisor Triangular
POR QUE A LOJAMUNDI É CONFIÁVEL?
selo de verificação reclame aqui da lojamundiselo google site seguroselo reclame aqui com link de acessoselo https seguroselo let's encrypt

ENTRE EM CONTATO COM A LOJAMUNDI.

Assine nossa Newsletter! É gratuito!

Cadastre seu nome e email para receber novidades e materiais gratuitos da Lojamundi.