Почему file_get_contents() не работает без протокола?

Version1: У меня есть этот код, который также работает:

file_put_contents("../img/avatar/".$id.".jpg", file_get_contents("http://localhost/folder/script.php?id=$id"));

Версия 2: Теперь мне нужно написать путь без протокола в file_get_contents. Итак, вот новая версия моего кода. Но это не работает:

$_GET['id'] = $id;
file_put_contents("../img/avatar/".$id.".jpg", file_get_contents("../folder/script.php"));

Что случилось с версией2?


Примечание: script.php создает аватар. И version1 также создает это изображение, но version2 просто создает неизвестное изображение.

Ответ 1

Так как ваш script.php завернут в функцию, вы должны сначала включить файл, а затем использовать эту функцию в качестве ваших входных данных.

require_once(__DIR__ . '/../../out/script.php');
file_put_contents("../img/avatar/".$id.".jpg", MakeAvatar($id));