Assistente de Arquivo
O arquivo Assistente de Diretório contem funções que auxiliam no trabalho com arquivos.
Carregando este Assistente
Este assistente é carregado usando o seguinte código:
$this->load->helper('file');
As seguinte funções estão disponíveis:
read_file('caminho')
Retorna os dados contidos dentro do arquivo especificado no caminho. Exemplo:
$string = read_file('./caminho/para/arquivo.php');
O caminho pode ser relativo ou absoluto no servidor. Retornará FALSE (booleano) caso falhe.
Nota: O caminho é relativo ao seu arquivo index.php principal, NÃO ao seus arquivos controller ou view. O Code Igniter usa um front controller de modo que sempre será relativo ao index principal do site.
Se o seu servidor estiver executando uma restrição open_basedir esta função talvez não funcione se tentar acessar um arquivo que esteja um nível acima ao script chamado.
write_file('caminho', $dados)
Escreve os dados no arquivo especificado no caminho. Caso o arquivo não exista ele será criado. Exemplo:
$dados = 'Alguns dados de arquivo';
if ( ! write_file('./caminho/para/arquivo.php', $dados))
{
echo 'Não foi possível escrever no arquivo';
}
else
{
echo 'Dados escritos!';
}
Você pode configurar opcionalmente o modo de escrita através do terceiro parâmetro:
write_file('./caminho/para/arquivo.php', $dados, 'r+');
O modo padrão é wb Por favor veja o Guia de Usuário do PHP para as opções de modo disponíveis.
Nota: Para que esta função escreva os dados no arquivo, este deve ter suas permissões configuradas para 'escrita' (666, 777, etc.). Se o arquivo não existir ainda, então o diretório que o conterá deve ter essas permissões de escrita.
Nota: O caminho é relativo ao seu arquivo index.php principal, NÃO ao seus arquivos controller ou view. O Code Igniter usa um front controller de modo que sempre será relativo ao index principal do site.
delete_files('caminho')
Apaga TODOS os arquivos dentro do caminho fornecido. Exemplo:
delete_files('/caminho/para/diretorio/');
Se o segundo parâmetro estiver configurado como true, qualquer diretório dentro do caminho fornecido também será apagado. Exemplo:
delete_files('/caminho/para/diretorio/', TRUE);
Nota: Os arquivos devem ter permissão de escrita ou pertencerem ao sistema de modo que possam ser apagados.
get_filenames('caminho/para/diretorio/')
Pega um caminho do servidor como entrada e retorna um array contendo os nomes de todos os arquivos dentro dele. O caminho do arquivo pode opcionalmente ser adicionado aos nomes de arquivos ao configurar o segundo parâmentro como TRUE.