Quelle serait la méthode la plus simple pour savoir si PHP a été invoqué via un POST par exemple et non depuis html (sous un webbroser)Comment savoir si PHP s'exécute sous un navigateur ou a été appelé comme un script autonome
Merci,
Quelle serait la méthode la plus simple pour savoir si PHP a été invoqué via un POST par exemple et non depuis html (sous un webbroser)Comment savoir si PHP s'exécute sous un navigateur ou a été appelé comme un script autonome
Merci,
Si je comprends bien votre question, il est pas http par rapport à l'appel en ligne de commande, mais plutôt navigateur vs « non-navigateur "(par exemple via curl, wget etc) appel. Il n'y a aucun moyen de vérifier cela, car wget etc sont techniquement navigateurs, ils n'ont tout simplement pas d'interface graphique. Vous pouvez essayer de vérifier HTTP_USER_AGENT, mais cela est totalement non fiable, car il n'y a aucun moyen de forcer un client à s'identifier correctement.
Je pense que tu as raison –
Cela a été répondu dans un autre Q: What is the canonical way to determine commandline vs. http execution of a PHP script?
function __get_started_from_cli_state()
{
return substr(php_sapi_name(), 0, 3) == 'cli';
}
function __get_started_from_cgi_state()
{
return substr(php_sapi_name(), 0, 3) == 'cgi';
}
function __get_started_from_browser_state()
{
return !(__get_started_from_cli_state() ||
__get_started_from_cgi_state());
}
duplication possible de [Quelle est la façon canonique de déterminer l'exécution de la ligne de commande par rapport à http d'un script PHP?] (Http://stackoverflow.com/questions/173851/what-is-the-canonical-way-to- determin-commandline-vs-http-execution-of-a-php-sc) –
Pour clarifier les choses ... un POST comme dans la méthode HTTP/1.1 n'est pas la même chose que CLI ... que voulez-vous dire par stand? -alone script? – ChrisR