Ir ao conteúdo
  • Cadastre-se

Include php para header e footer


Posts recomendados

E aí gurizada, beleza? Minha dúvida é a seguinte: como trabalhar com um include de header e footer? Geralmente quando estou fazendo algum site (estudos) eu crio um header onde vai constar o head e alguma informação fixa do site, e o footer contendo o fim do body. A dúvida é: se eu tenho mais diretórios e subdiretórios e não consigo aplicar este include. Um exemplo: no meu header tem meus arquivos css, beleza. E meu site é composto por:

 

site exemplo

>> index.php (php)

>> pages (folder)

>>>> pages/sobre.php

>>>> pages/contato.php

>> css

>>>> css/estilo.css

 

Pra eu aplicar o header nestes subarquivos, eu precisaria ou inserir direto no arquivo php de cada um, ou então fazer uma chamada no index.php?pages=sobre ou index.php?pages=contato, fazer um if, verificar qual página solicitada e inserir no próprio index. Como resolver isso? Alguns sites que eu vejo, geralmente o header possui caminhos absolutos contendo o endereço inteiro do pasta e arquivo solicitado, tipo <link rel="stylesheet" type="text/css" href="//www.sitecomoexemplo.com/css/arquivo.css"> mas no localhost tentei inserir um <link rel="stylesheet" type="text/css" href="opt/lampp/htdocs/siteexemplo/css/arquivo.css"> e não funciona. E então, como se resolve isso? Espero ter sido entendido.

Link para o comentário
Compartilhar em outros sites

Boa noite @Felipe Paz

 

Espero não ter entendido errado, mas não está encontrando o arquivo CSS? Acredito que se você colocar:

<link rel="stylesheet" type="text/css" href="../css/arquivo.css">

vai funcionar.

Aqui tem um site(inglês) explicando sobre diretórios, quando colocado "../", ele procura no diretório anterior, ou pai, não sei kk.

 

Uma dica é apertar F12 e ir na aba Console, ele vai listar os erros ao carregar a página e pode ver de onde está tentando puxar o arquivo css.

Até mais.

 

-Cf

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Opa!

Acho que o colega Charlie Fox tem razão. Alguns sites até usam o caminho http do arquivo mesmo que é o absoluto. Como você também pode usar o endereço do jquery sem precisar baixar ele.

Tente o uso da / (barra) antes do caminho para chegar a raiz do seu projeto ou sem a barra para partir da pasta atual onde sua página está. Ainda tem também o ../ (ponto, ponto e barra) para voltar um nível a partir do nível atual.

Ex: Caminho de uma imagem...

/imagens/flor.png >> vai voltar para raiz e entrar nas respectivas pastas

../imagens/flor.png >> vai voltar um nível a partir do nível atual

../../imagens/flor.png >> vai voltar dois níveis a partir do nível atual

flor.png >> vai acessar o arquivo no mesmo nível atual

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Entendi vocês gurizada, mas ainda não é o que eu preciso. O header faz o include normal, o problema é quando crio subdiretórios e subarquivos e tenho o include do header.

Um exemplo

Pasta1 - > arquivo 1 (consigo deixar o include, por exemplo < ../css/style.css >

Agora se for pasta1 > pasta > arquivo 2 ( o include não vai funcionar porque eu ele deveria ficar ../../css/style.css

Como eu utilizo um header.php para padronizar todo o site, eu acabo fazendo gambiarras e jogando tudo pro index.php, fazendo condições e importando o arquivo solicitado.

Ao invés de eu acessar o meusite/pasta2/arquivo2.php eu acabo fazendo meusite/index.php?diretorio=2&arquivo2.php mas ou menos isso. Entenderam? Não vou conseguir explicar muito bem isso não!

Link para o comentário
Compartilhar em outros sites

@Felipe Paz Acho que entendi... Será que se você considerar sempre o caminho completo do arquivo apontando para o root em todos os arquivos não resolveria? Independente se o arquivo estiver na mesma pasta ou não... você colocaria sempre o caminho completo do arquivo com apenas uma barra no início para ele fazer referência a pasta raiz e mapear o caminho... Ex: /pages/inicio/imagem.png

Pelo que entendi, em algumas arquivos você pode fazer include de outros arquivos que poderão ser acessados por subpastas e subpastas.... Então o caminho vai mudar a depender de onde o arquivo que faz o include está.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderador

@joseqfneto

@Felipe Paz

Em casos assim é usado o fullpath ao invés do caminho relativo.

Mas seria interessante também usar o DEFINE!

 

Com o define você informa uma variável e o valor dela. É tipo uma variável global.

 

exemplo:

define("BASE_URL","/");
include(BASE_URL . "diretorio/header.php"); 

Seria algo parecido com isso

 

Link para o comentário
Compartilhar em outros sites

  • 11 meses depois...

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...