Intereting Posts
Symfony & Guard: «Токен безопасности был удален из-за исключения AccountStatusException» Codeigniter – как включить динамический файл javascript в представлении Использование WHERE IN (…) с PDO не работает, когда строка привязана как создать резервную копию базы данных в php и zip it Как предотвратить добавление doctype в HTML? Что такое СОЛЬ и как его использовать? Передача переменной из одного php включает файл в другой: global vs. not PDO подготовил инструкции для хранения содержимого html Получение минимальной суммы заказа для метода «Бесплатная доставка» на странице проверки Использование JavaScript для доступа к массиву JSON из PHP Zend Framework: использование тире в именах / URL-адресах контроллера MySQL: используйте значение CASE / ELSE в качестве параметра соединения PHP + Comet (длительный опрос) масштабирование / хосты PHP – передать скрытое значение в jquery ckeditor-ckfinder атрибуты по умолчанию (ширина и высота) для загруженных изображений

Как проверить, вызван ли скрипт php другим скриптом на сервере?

У меня есть скрипт scripty.php

Иногда этот скрипт вызывается через браузер.

В других случаях он вызывается другим скриптом на сервере.

Как я могу (надежно) проверить внутри scripty.php, чтобы узнать, вызывается ли он сервером?

в виде URL-адреса http

Переменная $_SERVER["REMOTE_ADDR"] которая дает вам IP-адрес клиента, выполнившего запрос, должна быть 127.0.0.1 при вызове сценария с сервера.

вы можете создать переменную, прежде чем включать скрипт

 $by_script = true; include("new_script.php"); 

и проверить его внутри

Просто догадка: вы хотите знать, если скрипт, называемый им через браузер, или из командной строки

 var_dump(PHP_SAPI); 

рассмотрите файл с именем test.php, это единственный код:

 echo str_replace("\\","/",$_SERVER["SCRIPT_FILENAME"]); echo str_replace("\\","/",__FILE__); 

когда пользователь выполняет * test.php по URL-адресу браузера, это результат:

 "C:/xampp/htdocs/test.php" "C:/xampp/htdocs/test.php" 

в противном случае отличаются ((в этом случае another.php выполнялся URL-адресом браузера, включая test.php))

 "C:/xampp/htdocs/another.php" "C:/xampp/htdocs/test.php" 

На любом скрипте, который будет вызывать его, определите константу, например define("IN_SCRIPT") и внутри scripty.php вы можете проверить константу, чтобы определить, находится ли она внутри другого скрипта или нет.

например

 if(defined("IN_SCRIPT")){ // We must be inside a script right now! } 

или

 if(!defined("IN_SCRIPT")){ // We are working alone now }