Java был разработан, чтобы быть межплатформенным; C#/.Net не был. Когда в сомнении, используйте инструмент, который был разработан для Вашей цели.
РЕДАКТИРОВАНИЕ: честно.NET была разработана для работы над встроенным/ПК/серверными средами, таким образом, это - ВИД межплатформенных. Но это не было разработано для Linux.
Самым простым решением было бы наличие двух файлов, как вы предложили.
Например:
(.. your html ..)
<form action="script.php" method="get">
<input type="submit" value="Run me now!">
</form>
(...)
<?php
echo "Hello world!"; // Your code here
?>
<?php
if (!empty($_GET['act'])) {
echo "Hello world!"; //Your code here
} else {
?>
(.. your html ..)
<form action="index.php" method="get">
<input type="hidden" name="act" value="run">
<input type="submit" value="Run me now!">
</form>
<?php
}
?>
Вы могли бы сделать это в одном документе, если бы у вас было условие, основанное на отправленных параметрах. Например:
if (isset($_GET['secret_param'])) {
<run script>
} else {
<display button>
}
Я думаю, что лучше всего иметь два файла.
Что именно вы имеете в виду под "запускает мой php скрипт"? Что за скрипт PHP? Один для генерации HTML-ответа для конечного пользователя или тот, который просто выполняет какую-то задачу обработки данных? Если вы знакомы с использованием этого тега и его взаимодействием с PHP, вам необходимо выполнить POST-запрос в целевой PHP-скрипт с помощью кнопки типа «отправить». Если вы не знакомы с формами, посмотрите здесь .