/ / Pourquoi file_get_contents () ne peut pas ouvrir un système de fichiers sans protocole? - php

Pourquoi file_get_contents () ne peut pas ouvrir un système de fichiers sans protocole? - php

J'ai un script en root et j'essaye de l'ouvrir en file_get_contents().

Cela marche:

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

Mais cela ne fonctionne pas:

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

Quel est le problème? Comment puis-je accéder à un script de système de fichiers sans écrire le protocole?


Remarque: En utilisant __DIR__ au début de ce chemin non protocolaire n’est pas "utile. Parce que __DIR__ est le même quelque chose comme ça qui n’est pas valide:

C:xampphtdocsfolder ...

Réponses:

3 pour la réponse № 1

S'il n'y a pas de protocole, l'argument est traité comme un chemin local. ? n’a aucune signification particulière dans les chemins d’accès Windows, il est donc à la recherche d’un fichier dont le nom est script.php?param=sthet ne le trouve pas.

En outre, lors de l'accès à un fichier local, il suffitlit le contenu. Les scripts ne sont pas exécutés, vous obtiendrez simplement le code source du script. Si vous voulez qu’un script soit exécuté, vous devez passer par le serveur Web.