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: 1.455 ]
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 no variante.
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.
kernel Linux otimizado - Compilação e teste
Criar entrada (menuentry) ISO no Grub
Entendendo o que é URI, URL, URN e conhecendo as diferenças entre POST e GET
Instalação do PostgreSQL, Apache2 e PHP8 no Debian Buster 10 e no Stretch 9
Compilação e instalação do Vim e habilitando a copiar e colar com o mouse
Enviar mensagem ao usuário trabalhando com as opções do php.ini
PEAGLE: Serviço Web de busca indexada em seu servidor local
Organizando fotos de camêra digital
O perigo no gerenciador de uploads do PHP
Manipulação de arquivos com PHP
Nenhum comentário foi encontrado.
Maquina modesta - a vez dos navegadores ferrarem o usuario
Fscrypt: protegendo arquivos do seu usuário sem a lentidão padrão de criptograr o disco
Faça suas próprias atualizações de pacotes/programas no Void Linux e torne-se um Contribuidor
Replicação SYSVOL no Samba 4 com Syncthing
Samba 4 com Replicação e LDAP Seguro (LDAPS/TLS)
Configurando o Cairo Dock individualmente em ambientes diferentes na mesma maquina
Calculadoras online gratuitas para o dia a dia do usuário Linux
Metafísica e espiritualidade funciona de verdade! Comprovação pessoal (3)
Isso acontece quando tento ajudar alguém (2)
Corrijindo o erro em println na linguagem C (4)
(CLIPPER) Rodando o mesmo código tanto no Windows quanto no Linux (4)









