Je suis dans le besoin d'inclure un fichier PHP que je ne peux atteindre avec une adresse HTTP complète. Je suis confus à propos de ce sujet, j'ai entendu dire que c'est une mauvaise pratique. Comment puis-je résoudre cela?Inclure/Exiger l'adresse HTTP
Répondre
Oui, il n'est pas recommandé d'inclure sur HTTP, sauf si vous êtes vraiment sûr de la source. Si vous voulez juste pour obtenir le contenu de celui-ci, sans exécuter du code PHP, vous pouvez utiliser:
Fot cela, le paramètre PHP allow_url_fopen doit être activée. Une autre option à l'aide cURL (sans vergogne pris du manuel PHP):
<?php
// create a new cURL resource
$ch = curl_init();
// set URL and other appropriate options
curl_setopt($ch, CURLOPT_URL, "http://www.example.com/");
curl_setopt($ch, CURLOPT_HEADER, 0);
// grab URL and pass it to the browser
curl_exec($ch);
// close cURL resource, and free up system resources
curl_close($ch);
?>
Vous devez passer par htmlentities() si nescessary.
Si vous êtes sur le même serveur, vous pouvez utiliser:
<?php
readfile('footer.html');
?>
Il est très mauvaise pratique. Au lieu de l'inclure, pourquoi ne pas inclure une copie locale du fichier et utiliser SSH pour le synchroniser avec la copie sur le serveur distant.
Ce serait trop compliqué pour mes besoins. – Benny
Le copierait-il une fois (ou quand il change) serait-il trop compliqué? Est-ce que ce fichier change souvent? –
du manuel: http://php.net/manual/en/function.include.php
lire aussi avertissement de sécurité attaché
Si « URL fopen wrappers » sont activés en PHP (qui ils sont dans la configuration par défaut), vous pouvez spécifier le fichier être inclus en utilisant une URL (via HTTP ou autre wrapper pris en charge - voir Liste des protocoles/wrappers pris en charge pour une liste de protocoles) au lieu d'un chemin d'accès local. Si le serveur cible interprète le fichier cible comme du code PHP, les variables peuvent être transmises au fichier inclus à l'aide d'une chaîne de requête d'URL utilisée avec HTTP GET. Ce n'est pas à proprement parler la même chose que d'inclure le fichier et de lui faire hériter de la portée de la variable du fichier parent; le script est en cours d'exécution sur le serveur distant et le résultat est alors inclus dans le script local.
- 1. Module HTTP et HTTP gestionnaire
- 2. Valeur de http://sitename.com vs http://www.sitename.com?
- 3. Problème avec http: // et http: // www
- 4. Uri.IsWellFormedUriString permet http: // http: // <url>
- 5. Proxy HTTP-GET-to-HTTP-POST
- 6. Mappage des requêtes HTTP aux réponses HTTP
- 7. gtm-http-fetcher modifier entêtes HTTP
- 8. Préautorisation HTTP
- 9. Connecteur http pour le serveur http Restlet et Apache
- 10. envoyer une erreur de requête HTTP (Http 503) en C#
- 11. mod_rewrite http: // localhost/home/ou http: // localhost/home à home.php
- 12. Réponse HTTP 411 Longueur requise, Http Client 4.0.1 Android
- 13. comment créer un serveur http qui traiterait les requêtes http
- 14. Zend Sessions: Traiter avec http://www.domain.com vs http://domain.com
- 15. Problème Javascript avec http://mysite.com vs http://www.mysite.com
- 16. Comment traiter les réponses http multipart dans Ruby Net: HTTP?
- 17. Vous avez besoin de '/home/../http/' aussi vite que '/ http /'?
- 18. http://example.com/foo/bar chargement http://example.com/foo.php
- 19. trafic HTTP et TCP uniquement (non HTTP) divisé
- 20. La méthode HTTP get retourne l'exception http connect host
- 21. Recommandation de livre HTTP?
- 22. ASP.NET MVC - HTTP Post
- 23. http meta refresh numéro
- 24. Bibliothèques HTTP pour Emacs
- 25. Protocoles HTTP et HTTPS
- 26. C# HTTP Demande Parser
- 27. Les indestructibles - Paramètres HTTP
- 28. Test de conformité HTTP
- 29. HTTP Connexion des rails?
- 30. htaccess (https à http)
Que fait ce fichier? Est-ce qu'il sert le code source? Si vous souhaitez d'autres suggestions, vous devrez ajouter quelques détails supplémentaires. –
C'est un fichier qui est inclus dans plusieurs de mes autres pages. Il contient toutes sortes de scripts, HTML et quelques analyses. Je ne peux pas simplement le mettre dans toutes ces pages, parce que si j'ai besoin d'éditer quelque chose de mineur, je vais devoir parcourir toutes ces pages. – Benny
dans ce lien, vous voyez que vous pouvez le faire avec include Exemple # 3 include() via http http://php.net/manual/en/function.include.php –