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: 573 ]
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.
Criar entrada (menuentry) ISO no Grub
ClamAV, o kit de ferramentas antivírus
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
Manual do IPtables - Comentários e sugestões de regras
Upload de imagens com criação de thumbnails em PHP
Gerando documentos PDF com a classe FPDF no PHP
Enviar mensagem ao usuário trabalhando com as opções do php.ini
O perigo no gerenciador de uploads do PHP
Manipulação de arquivos com 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)









