Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Ola pessoal estou com problemas para definir meu include_path para o meu diretórios de include.
Gostaria de saber se alguem pode me ajudar pois é a primeira vez que preciso definir um include_path mas acho que estou fazendo certo, mas não funcina.
Abaixo coloquei o código que estou usando
Código:
<?php ini_set("include_path","/includes") ?><?php require_once('interface/cabecalho.php') ?><?php require_once('interface/arquivos_externos.php') ?> <body> <div id="topo"> <div id="cabecalho"></div> </div> <p> </p> <p> </p> . . .E a minha estrutura de diretórios é o seguinte:/applications/core/interface/imageproxy/imageproxy.php?img=http://www.lapertosaefigueiredo.com.br/dir.png&key=4a1bda5de978fa6cb195826c0732170672325f192ac4e5d6e9b38cbc4cb45a4a" alt="Imagem Postada" />
E o erro que estou tendo:
>
Warning: main(interface/cabecalho.php) [function.main]: failed to open stream: No such file or directory in /home/lapertos/public_html/_index.php on line 2
Fatal error: main() [function.require]: Failed opening required 'interface/cabecalho.php' (include_path='/includes') in /home/lapertos/public_html/_index.php on line 2
Hum, pode ser isso ein... vou testar e amanha posto aqui. Nao uso direto no require pq e um sistem complexo que sera dividido em varios modulos e as pagina em que darao require vao estar em pastas diferentes e eu gostaria de reaproveitar o maximo possivel de codigo e usando um path relativo, desta form com o include path eu nao preciso ficar mudando o caminho toda hora dentro das paginas pq sao muitas paginas. E o maximo de include que eu puder fazer do mesmo trecho de em outras paginas melhor, menos coisa para carregar pq a pagina anterior ja deu include na mesma coisa. Outra coisa, vou dentro deste diretorio includes, vou ter um diretorio para includes referentes ao layout um referente a funcoes e classes e un referente a arquivos de inicializacao do sistemas... e quase todos esses includes serao feitos em todas as paginas. Logo ia dar pau no caminho relativo de tudo.Outra forma boa de fazer isso e fazendo um documentroot na frente do todos os caminhos, ai fica sempre camihno absoluto, funciona... mas acho que setando o include path fica mais legal.
testei... funcionou... tem que ser o caminho completo... engracado e que nao avisam isso me lugar algum nem no manual do php que eu li umas 10x hj.
sempre coloque o caminho completo, é melhor para compatibilidade entre servidores e configurações do phpse faz um sistema que usa o file e não usar o caminho completo vai um dia ter que alterar o sistema todo por causa de configurações diferentes entre servidores.. é complicao mas a gente supera :)
Eu penso o contrario. Quanto mais caminho absoluto você tiver pior, mais linhas de código para alterar para o novo caminho você tera que mudar para poder colocar em um server novo. Se você usa os includes no include path, todas as imagens que compoem o layout em um css e todo caminho que você tiver que fazer que não seja por include nem por css através de document_root+caminho . Seu sistema funcionará exatamente igual em qualquer server sem alterar linha nenhuma para caminho. Apenas alterando o arquivo de inicialização que você criar que conteha dados como conexão de banco, caminho relativos e outras coisas mais que deve ser carregadas em todas as paginas.Vai por mim, sem duvida muito melhor, caminho absoluto é dar murro em ponta de faca.
só por curiosidade, amis para que serve este script?desclpeu a iGONOrancia :'(
include_path é o caminho onde o php irá buscar tudo que forma chamdo por include requier e fopen depois de verificar o proprio diretorio da pagina que chamou o include ou require... ele vem setado no php.ini na configuração do php mas pode ser alterado em execução pela função ini_set .É um forma de você não ter que ficar especificando o caminho de seus includes toda hora, se você usa classes também pode usar o autoload e colocar o caminho das classes neste auto load ao inves de alterar o include_path mas no meu caso não tenho certeza se funciona pois não são classes que estou dando include, são trechos de html para compor meu layout, as classes aconselho usar o autoload para poder dar include automaticamente da classe que você instanciar durante sua página.
uhnnnnn
não tenho certeza, mas que tem que passar o caminho completo para eletipo : /home/lapertos/public_html/includes/pq não coloca direto no require?<?php require_once('includes/interface/cabecalho.php') ?>