Eu tenho uma configuração como esta:
Em seguida, tenho uma função auxiliar que simplesmente retorna o caminho completo para isso, dependendo da minha configuração, algo semelhante a:
application / helpers / utility_helper.php:
function asset_url(){
return base_url().'assets/';
}
Normalmente, manterei rotinas comuns semelhantes a essa no mesmo arquivo e carregarei automaticamente com a configuração de carregamento automático do codeigniter.
Nota: carregar automaticamente o auxiliar de URL para base_url()
acesso.
application / config / autoload.php:
$autoload['helper'] = array('url','utility');
Você terá acesso a asset_url()
todo o seu código.
$autoload['helper'] = array('url', 'utility');
Não, dentro da pasta views não é bom.
Look: Você deve ter 3 pastas básicas no seu projeto:
system // Essa é a estrutura do IC, não há muitos motivos para tocar nesses arquivos
application // é aqui que a sua lógica vai, os arquivos que compõem o aplicativo ,
public // este deve ser o seu documentroot
Por motivos de segurança, é melhor manter sua estrutura e o aplicativo fora da raiz do documento (public_html, htdocs, public, www ... etc)
Dentro da sua pasta pública, você deve colocar suas informações públicas, o que os navegadores podem ver, é comum encontrar as pastas: images, js, css; então sua estrutura será:
fonte
public
. Existe algum problema para adicionar uma pasta com o mesmo nome..htaccess
remover/index.php?
e chamar a pasta pública combase_url().'public/yourfolder';
É assim que eu manejo os bens públicos. Aqui eu uso o método Bootstrap do Phalcon PHP .
Estrutura de pastas
Arquivos para editar
.htaccess*
.htaccess**
index.php***
Modifique o
application
caminho e osystem
caminho como,Agora você usa a
public
pasta comobase_url()."public/[YOUR ASSET FOLDER]"
Espero que isto ajude :)
fonte
/public
o motivobase_url ()."public/[...
! Deveria ser justobase_url ()."/[YOUR ASSET FOLDER]"
.Normalmente, coloco todos os meus arquivos assim em uma pasta "assets" na raiz do aplicativo e, em seguida, certifico-me de usar um Asset_Helper para apontar para esses arquivos para mim. Isso é o que o CodeIgniter sugere.
fonte
Ninguém diz que você precisa modificar o .htacces e adicionar o diretório na condição de reescrita. Eu criei um diretório "public" no diretório raiz, junto com "system", "application", "index.php". e editou o arquivo .htaccess assim:
Agora você precisa apenas chamar
<?php echo base_url()."/public/yourdirectory/yuorfile";?>
Você pode adicionar subdiretório dentro do diretório "public" como desejar.fonte
Independentemente de onde você colocou o arquivo CSS, você pode simplesmente usar o auxiliar CodeIgniter "html" chamado link_tag (). Você aplicaria esse auxiliar mais ou menos assim:
Cabe a você localizar o arquivo CSS no local mais apropriado (na sua opinião). Você precisaria carregar automaticamente o auxiliar "html" ou carregá-lo separadamente para usá-lo.
As pessoas continuam sugerindo o uso de base_url () para conseguir isso, mas na verdade não é realmente a maneira "CodeIgniter" de fazer isso (acho que essa pergunta tem algumas duplicatas). Isso funcionará, mas uma das razões para o uso de uma estrutura é usar as funções pré-criadas nela.
Existem muitos ajudantes no codeigniter para fazer esse tipo de coisa.
fonte
adicione uma pasta a qualquer nome, por exemplo, public, adicione o arquivo .htaccess e escreva allow de tudo o que significa, nesta pasta todos os seus arquivos e todas as pastas não darão erro. Acesso proibido! use-o assim
fonte
Estou usando a versão mais recente do CodeIgniter 3.1.0. A estrutura de pastas é:
É aí que você deve colocar os arquivos de imagens, css e js dentro da pasta assets.
fonte
Eu uso a seguinte estrutura de pastas:
fonte
(Eu sou novo no Codeigniter, então não sei se esse é o melhor conselho)
Eu mantenho arquivos disponíveis publicamente na minha pasta pública. É lógico que eles estejam lá, e eu não quero usar o Codeigniter para algo para o qual não preciso usá-lo.
A árvore de diretórios fica assim:
Os únicos arquivos que eu mantenho em / public / são index.php do Codeigniter e meu arquivo .htaccess:
fonte
você pode colocar a pasta css dentro da pasta assest (nomeie qualquer nome) no diretório do seu projeto como:
... quando você deseja carregar esse arquivo em uma página, pode usar a função base_url () desta maneira:
<head> <link rel='stylesheet' href='<?php echo base_url();?>assets/css/style.css'> </head>
e você tem certeza de adicionar base_url do seu projeto no arquivo config.php da seguinte maneira:fonte
Olá, nossa estrutura é como Aplicação, sistema, user_guide
crie um ativo de nome de pasta próximo a todas as pastas e, dentro desta pasta de ativos, crie uma pasta css e javascript e images coloque todos os seus css js dentro das pastas
Agora vá para header.php e chame o css assim.
fonte
O
link_tag()
ajudante é claramente a maneira de fazer isso. Coloque seu css onde ele normalmente pertence, em site_root / css /, e use o auxiliar:Dos documentos do CodeIgniter ...
Resultado
fonte