проблема заключается в том, что вы путаете клиента (JS) и сервера (PHP). PHP выполняется на сервере и создает некоторый HTML, который отправляется в браузер («клиент»). Браузеры не могут запускать PHP, потому что это серверный язык.
Вы должны оценить, какое именно взаимодействие требуется между клиентом и сервером. Например, если вам просто нужно выполнить некоторые PHP, чтобы передать данные в JavaScript, вы можете создать объект JavaScript:
<script type="text/javascript">
<?php // include script that gives you back some data, e.g.: ?>
<?php $somePhpData = array('red', 'yellow', 'blue'); ?>
<?php $jsonData = json_encode($somePhpData); ?>
var dataFromPhpScript = <?php echo $jsonData; ?>
// do something with the data
</script>
В противном случае, если вам действительно нужно JavaScript для запуска PHP-скрипт работает, вы по существу делая AJAX. Вероятно, вам понадобится какой-то REST API. Идея заключается в том, что вы выставляете URL-адрес PHP, который может вызывать JavaScript:
<script type="text/javascript">
jQuery(document).ready(function() {
function startScript(scriptName, success) {
$.get('/path/StartScript.php?script-name=' + scriptName)
.done(success)
.fail(fail);
}
startScript('name-of-php-script', function(data) {
// trigger some JavaScript that relies on the output of the PHP script
});
});
</script>
Что такое 'scriptname'? Вы знаете разницу между серверной и клиентской технологией? –
Вы не можете напрямую звонить PHP из JS. Вам нужно заглянуть в технику Call AJAX, чтобы делать то, что делают yoy. – marteljn