/ / Чому file_get_contents () не може відкрити файлову систему без протоколу? - php

Чому file_get_contents () не може відкрити файлову систему без протоколу? - php

У мене є скрипт в корінь, і я намагаюся його відкрити file_get_contents().

Це працює:

file_get_contents("http://localhost/folder1/folder2/script.php?param=sth");

Але це не працює:

file_get_contents("../folder1/folder2/script.php?param=sth");

Як можна отримати доступ до сценарію файлової системи без написання протоколу?


Примітка: Використовуючи __DIR__ на початку цього не-протокольного шляху не є корисним __DIR__ це те ж саме, що не є дійсним:

C:xampphtdocsfolder ...

Відповіді:

3 для відповіді № 1

Якщо немає протоколу, він обробляє аргумент як локальний шлях. ? не має особливого значення в шляхах Windows, тому шукає файл, ім'я якого є script.php?param=sth, і не може його знайти.

Крім того, при доступі до локальних файлів, це просточитає вміст. Сценарії не виконуються, ви просто отримаєте вихідний код сценарію. Якщо ви хочете, щоб скрипт виконувався, вам потрібно пройти через веб-сервер.