Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal,
Eu sou iniciante em programação PHP, e estou com dificuldades em entender um comportamento. Já dei uma pesquisada pelo fórum mas não encontrei um assunto semelhante. Estou desenvolvendo um projeto onde estou organizando as páginas em pastas separadas.
Ilustração:
-Root
-css
- config.css
-img
- imagem01.jpg
- js
- config.js
-conteudo01
- pagina01.php
-conteudo02
footer.php
header.php
index.php
O que ocorre é que dentro da pasta conteudo01, dentro do arquivo pagina01.php eu uso a função include_once para chamar as páginas principais do root normalmente. Até ai tudo bem, o problema é que o servidor não está carregando os conteudos das demais pastas. Já fiz de tudo e um pouco até o presente momento dentro dos limites do meu conhecimento, mas sem sucesso. Gostaria da ajuda dos senhores para a resolução do meu problema. Sou grato desde já.
Atenciosamente,
Alexandre Figueiredo
>
5 horas atrás, impera disse:
Para acessar as outras pastas você deve usar ../nome_pasta no include_once
Por exemplo, para dar include da js/config.js você deve fazer o caminho dessa forma
include_once("../js/config.js");
Bom dia impera, gostaria que fosse tão simples assim, eu já tentei isso e outras alternativas a mais...
Vou ser mais específico... Quando você está acessando a página por exemplo index.php que está root, todas as funcionalidades de CSS, JS e imagens aparecem normais. Mas, quando você está dentro da pasta por exemplo como eu ilustrei, o HTML carrega normal mas as outras funcionalidades não.
Exemplo:
**-CSS**
- config.css
**- conteudo01**
- pagina01.php
O HTML aqui carrega normalmente, entretanto o config.css que está dentro da pasta CSS não carrega, abre a página somente com os elementos HTML e nada de estilização na pagina01.phpSe possível envie o código que esta fazendo para eu conseguir te ajudar melhor.
Resolvi o problema, era só colocar o valor absoluto das src's.
http://localhost/pasta/...
Valeu pela atenção!
Conteudo migrado sem texto.
É dentro do header e footer que é feito os includes js e css?
Se sim, você tem que considerar o caminho como sendo o do arquivo que deu o include do arquivo.
Por exemplo, no arquivo Contrato.php
Irá dar include como tu está fazendo
<?php include_once '../heander.php'?>
Agora nos arquivos footer e header tu tem que dar os includes também saindo uma pasta.
include_once("../arquivo.php");
Obrigado mais uma vez cara, mas o problema não eram com os includes e sim com as SRC's
Consegui resolver o problema da seguinte maneira, colocando os valores absolutos do caminho:
Ex:
Aonde estava
<link rel="stylesheet" type="text/css" href="css/header.css">
**alterei para:**
<link rel="stylesheet" type="text/css" href="http://localhost/*pasta raiz do servidor*/css/header.css">
**da mesma forma as imagens:**
<img src="img/logo.png"/>
**para:**
<?php echo '<img src="http://localhost/*pasta raiz do servidor*/img/logo.png">; ?>
Para acessar as outras pastas você deve usar ../nome_pasta no include_once
Por exemplo, para dar include da js/config.js você deve fazer o caminho dessa forma
include_once("../js/config.js");