Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
O que ganharei lendo este artigo?
Domínio de Escopo: Aprenderás que diretórios (pastas) e subdiretórios mudam a percepção do PHP.
Segurança com Constantes: Aprenderás a "travar" o caminho real do projeto para não depender tanto de onde o script está rodando.
Warning: fopen(leitura.txt): Failed to open stream: No such file or directory in /caminho/da/mente/do/ledor/inteligencia.php on line 0[ Hits: 596 ]
Por: Buckminster em 28/03/2026
$arquivo = "../../../../cursos.txt"; (onde é fácil errar a quantidade de pontos e barras).
$arquivo = dirname(RAIZ_SIS, 3) . DIRECTORY_SEPARATOR . 'cursos.txt';A função dirname aceita o formato acima onde RAIZ_SIS é a constante criada por você e 3 é o número de diretórios para retornar e buscar o arquivo desejado.
require_once __DIR__ . '/../arquivo.php';Caminho Real: /opt/apache24/htdocs/pasta1/pasta2/pasta3/arquivo.php
if (!defined('RAIZ_SIS')) {
define('RAIZ_SIS', __DIR__ . DIRECTORY_SEPARATOR);
}require_once RAIZ_SIS . 'pasta3'. DIRECTORY_SEPARATOR . 'arquivo.php';Caminho Real: /opt/apache24/htdocs/pasta1/pasta2/pasta3/arquivo.php
arquivo = dirname(RAIZ_SIS, 1) . DIRECTORY_SEPARATOR . 'cursos.txt';A função dirname aceita o formato acima onde RAIZ_SIS é a constante criada por você e 1 é o número de diretórios para retornar e buscar o arquivo desejado.
require_once __DIR__ . DIRECTORY_SEPARATOR . "autoload.php";
require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . "autoload.php";
require_once __DIR__ . DIRECTORY_SEPARATOR . "bagoal.php"; <<< aqui tu caça um bagoal no mesmo diretório; require_ONCE DIRNAME(__dir__) . DIRECTORY_SEPARATOR . 'fincao.php' <<< aqui tu encontra um fincao um diretório acima; require_once RAIZ_SIS . 'api' . DIRECTORY_SEPARATOR . 'proc_criar.php'; <<< aqui tu deseja proc_criar um diretório abaixo; $arquivoCursos = RAIZ_SIS . 'texticulo.txt'; <<< aqui tu pega o texticulo no mesmo nível e introduz o barbante numa variável.
require_once __DIR__ . DIRECTORY_SEPARATOR . 'autoload.php'; <<< aqui busca autoload.php no mesmo diretório; require_ONCE DIRNAME(__dir__) . DIRECTORY_SEPARATOR . 'funcao.php' <<< aqui busca funcao.php um diretório acima; require_once RAIZ_SIS . 'api' . DIRECTORY_SEPARATOR . 'processa.php'; <<< aqui busca processa.php um diretório abaixo; $arquivoCursos = RAIZ_SIS . 'cursos.txt'; <<< aqui busca cursos.txt no mesmo diretório e salva a string numa variável.
Atualizar o macOS no Mac - Opencore Legacy Patcher
Manutenção de sistemas Linux Debian e derivados com apt-get, apt, aptitude e dpkg
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Atualizar Debian Online de uma Versão para outra
Instalação e configuração do Chrony
Trabalhando com arquivos em PHP
Manipulação de arquivos com PHP
Organizando fotos de camêra digital
PEAGLE: Serviço Web de busca indexada em seu servidor local
O perigo no gerenciador de uploads do PHP
Nenhum comentário foi encontrado.
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Ativando o modo Quake no XFCE4-Terminal
[Tutorial] Configurando Multimaster no Samba 4 AD (DC02) + Explicação de FSMO Roles
[Resolvido] Google Chrome reclamando de perfil em uso após mudar hostname
Instalando o Tema de Ícones Tela Circle
Copiar Para e Mover Para no menu de contexto do Nautilus e Dolphin
Senhor Einstein tinha razão mesmo! (7)
Como instalar Warsaw no Gentoo? (1)
Da pra formatar um netbook MGB e usar algum linux nele? É possível usa... (4)









