Eu tenho um script na raiz e estou tentando abri-lo por file_get_contents()
.
Isso funciona:
file_get_contents("http://localhost/folder1/folder2/script.php?param=sth");
Mas isso não funciona:
file_get_contents("../folder1/folder2/script.php?param=sth");
O que há de errado? Como posso acessar um script de sistema de arquivos sem escrever protocolo?
Nota: Usando __DIR__
no início desse caminho não-protocolo não é útil. __DIR__
é o mesmo algo assim que não é válido:
C:xampphtdocsfolder ...
Respostas:
3 para resposta № 1Se não houver nenhum protocolo, ele tratará o argumento como um nome de caminho local. ?
não tem nenhum significado especial nos nomes de caminho do Windows, então ele está procurando por um arquivo cujo nome é script.php?param=sth
e não pode encontrá-lo.
Além disso, ao acessar um arquivo local, ele simplesmentelê o conteúdo. Scripts não são executados, você apenas obterá o código-fonte do script. Se você quiser que um script seja executado, é necessário acessar o servidor da web.