Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Siriusred

[] .INC ? Porque utiliza-los?

Recommended Posts

Gostário de saber porque em alguns programas php encontramos arquivos .inc contendo informações de database por exemplo, por que não utilizar o méro e formal config.php ou algo assim? qual a diferença?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na prática nao existe diferença nenhuma.

normalmente usam a extensão .inc apenas para diferenciar o arquivo dos outros.

para não precisar repetir o mesmo código em vários arquivos, criam esse arquivo .inc e colocam o código dentro dele. Aí é só dar um include na página que precisa desse código.

Mas se quiser colocar a extensão .php no arquivo não tem problema nenhum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmm, entendi, bem se for isso mesmo ficou claro, obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

existe problema em usar arquivos .inc com codigo PHP como include...

o pricipal é que um arquivo ,inc q é chamado, exibe o seu codigo na integra para o cliente...

certamente q naum tem como o cliente saber o nome nem o local de seus includes, mas...

 

quase sempre nos usamos um ou dois arquivos com nomes padroes em nossos sistemas, se uma pessoa acertar o endereço de um arquivo .inc ele tera acesso ao seu codigo-fonte...

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

hmm ta aí um problema, mas então afinal pra q ele serve? é tão inutil assim então?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não, eles não são inúteis, como eu disse você não precisa ficar repetindo o mesmo código em vários arquivos. É só colocar no .inc e depois dar include.

Quanto a este problema de o usuário acessar o código fonte, o servidor pode ser configurado para bloquear acesso a estes arquivos. Mas é muito improvável de alguém acessar estes arquivos. Ninguém saberá onde os arquivos estão. Tem que tomar cuidado também com as mensagens de erro, pois algumas podem revelar a localização destes arquivos.

Eu normalmente utilizo a extensão .php mesmo, mas a escolha é sua, se for usar os arquivos .inc deve tomar estes cuidados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

se vcs estao preocupados somente em diferenciar os includes, troquem .inc por .inc.php

assim a segurança é mantida, e pode ser diferenciado visualmente...

 

PS: é extremamente naum recomendavel o uso de extenções .inc

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu ja não uso arquivo .inc a muito tempo, mas fica ai a dica se fizer questão de utilizar é só fazer nomedoarquivo.inc.php

assim como eu uso nomedoarquivo.class.php para minhas classes php

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz arquivo.inc.php

 

 

aproposito nao eh melhor usar require_once() ao inves de include? pq assim evita de executar sem o arquivo e evita de adicionar 2x

Compartilhar este post


Link para o post
Compartilhar em outros sites

o include_onde() tbm evita q o arquivo seja chamado 2x..

se for um arquivo fundamental ao funcionamento do sistema, usar require_onde() (que vai gerar um FatalError e interromper o script), se for um banner ou uma parte da pagina que naum prejudique o funcionamento (msm q deixe de carregar uma parte do banner, mas naum atrapalhe o objetivo principal da pagina) usar include_onde() (que vai gerar apenas um Warning e prosseguir com o processamento do arquivo)

PS: se for includes esteticos, usar apenas include(), pois alguns includes esteticos precisao ser chamados + de uma vez...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

É sempre com evitar a exibição de erros. Nesse caso, usar file_exists() antes de chamar require/include resolve o problema. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Mais que questão estética, a exibição de erros gera insegurança, visto que as mensagens mostram caminhos e nomes de arquivos. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu naum sei se existe ainda, + acho q o Beraldo pode me informar...

existe algo semelhante ao __autoload() feito para requires/includes?!

se naum existir, basta falar com algum "subordinado do Skyo" para criar algo parecido ^^

Sobre os subordinados do Skyo: http://forum.imasters.com.br/index.php...st&p=981867

xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

entao... eu sabia, foi por isso q eu perguntei se o PHP5 naum tem algo semelhante para requires e includes...

tipow:

<?php
function __autorequire($filename) { //Função q eu quero saber se existe similar...
	//aqui checaria se o arquivo existe antes de incluir o seu conteudo
	//sacou?! ^^
}
require_once "dorian.php";
?>

PERGUNTA DE UM INDIGNADO: pq a tags PHP ainda naum estao funcionandooooo?!

[php] ... [/php]

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dórian, esse __autoload() só funciona com classes.

Essa função é chamada quando é encontrado o operador new.

 

Para incluir arquivos, é melhor fazer assim:

if (file_exists($file))
{
	require_once $file;
}
else
{
	exit("O arquivo " . $file . " não foi encontrado. Execução interrompida");
}
O else é opcional. Coloque-o se o arquivo a ser incluído fos imprescindível para o sistema.

 

 

Quanto às tags

 e 

, o problema é que, ao atualizar o IPB, as adaptações foram perdidas. A administração está aguardando um possível backup, com essas e outras implementações. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu sei q so funciona com classes, + seria bom se criasem uma função de rotina para requires e includes (semelhante ao __autoload() é para as classes)

entendeu agora?! é somente uma sugestao para as proximas versoes do PHP...

tenha falado no começo pra saber se ja existia algo similar ^^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ah, agora entendi. :)

Seria interessante se isso já existisse.

 

Enquanto não criam, tem que usar file_exists(), mesmo. Dá para criar uma função. Por exemplo:

 

function Incluir($file)
{
	if (file_exists($file))
	{
		require_once $file;
	}
}

Daí dá para melhorar: colocar else, adicionar parâmetros para dizer se a execução deverá ser interrompida etc. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.