Bom dia pessoal,
Mas uma dúvida me surgiu, pra quê serve o @ antes de algumas instruções em php como o exemplo abaixo:
@fopen('teste.txt' , "r");
qual a diferença para isto?
fopen('teste.txt' , "r");
grato!
Bom dia pessoal,
Mas uma dúvida me surgiu, pra quê serve o @ antes de algumas instruções em php como o exemplo abaixo:
@fopen('teste.txt' , "r");
qual a diferença para isto?
fopen('teste.txt' , "r");
grato!
se nao me engano, quanco colocar arroba(@) é para excluir qualquer tipo de erro. ou seja se der erro , não é para mostrar nada na tela.
abraços
se nao me engano, quanco colocar arroba(@) é para excluir qualquer tipo de erro. ou seja se der erro , não é para mostrar nada na tela.abraços
Obrigado por responder, mas acredito não ser isto, pelo fato de eu ter criado um teste tentando
fazer a leitura de um arquivo existente e um não existente, e não houve diferença nenhuma entre os dois.
Mesmo porque, isto é manipulado no php.ini em display_errors.
Continuo nesta dúvida
É justamente o que o dtxk falou… O ‘@’ serve para ignorar erros… se vc tentar abrir um arquivo inexistente, uma exceção será lançada e o programa será interrompido, mas se a instrução tiver o @, a a exceção será ignorada e o programa continua executando…
Faz um teste. Executa esse código primeiramente sem @ e depois com:
fopen('arquivoInexistente.txt', 'r');
echo 'teste';
Com o @, a palavra teste será exibida…
É justamente o que o dtxk falou… O ‘@’ serve para ignorar erros… se vc tentar abrir um arquivo inexistente, uma exceção será lançada e o programa será interrompido, mas se a instrução tiver o @, a a exceção será ignorada e o programa continua executando…Faz um teste. Executa esse código primeiramente sem @ e depois com:
fopen('arquivoInexistente.txt', 'r'); echo 'teste';Com o @, a palavra teste será exibida…
Então, este teste eu fiz aqui, tanto com @, quanto sem e passou, será que isto não depende da versão do PHP?
Grato!
acho que no seu php ja esta configurado para nao mostrar os erros
eu sempre usei o @ para esconder warnings e sempre deu certo…
abrass
por padrão os erros são exibidos no php.ini. testei seu exemplo aqui, abri um aquivo pra leitura q n existia deu erro:
colocando a @ some…rsrs mas n faça isso
se vc quiser transformar as linhas desse arquivo em um array utilize a função file(); é bem pratica 
para mostrar os erros independente do q esta setado no php.ini utilize isso
error_reporting(E_ALL);
@ é gambiarra rsrs… :roll:
desculpe! :oops:
De fato, se a exibição dos erros está sendo tratada no script, considero gambiarra também.
É que o código não era meu, no caso achei isto numa biblioteca de terceiros, e como nunca utilizei o “@” no PHP,
então surgiu esta curiosidade.
Mas muito obrigado à todos!
Só mais uma pergunta,
Como eu dou este tópico como resolvido?
Abcs!
Só mais uma pergunta,
Como eu dou este tópico como resolvido?
Abcs!
Agora uma dica… Se está começando a programar em PHP ou já programa se a opção de exibir erros estiver desabilitada acho que seria interessante habilitar.
Basta procurar por display_errors no arquivo de configuração e colocar como On pois acho que se aprender bastante vendo as msg de erro…
Abraço!