передавать значение переменной через $_GET например
<button onclick="javascript:document.location.href='yourfile.php?file=text.txt'">Button</button>
а потом $file = $_GET['file'];
index.php<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="source.js"></script>
</head>
<body>
<form action="" method="post"> <!-- метод POST или GET отпрака через форму без JS -->
<input type="submit" name="btn" value="file1">
<input type="submit" name="btn" value="file2">
</form>
<button id ="a">btnjs1</button> <!-- Кнопки к которым привязан JS -->
<button id= "b">btnjs2</button>
</body>
</html>
<?php
if (isset($_POST['btn'])){ // получаем переменную которую посылали через форму
$action = $_POST['btn'];
switch ($action) {
case 'file1' : $file_post = 'file1.txt'; break;
case 'file2' : $file_post = 'file2.txt'; break;
};
} else {
$file_post ='file1.txt';
};
if (isset($_GET['file'])){ // получаем переменную которую отсылали через JS
$file_get = $_GET['file'];
} else {
$file_get = 'file2.txt';
};
$files_post = file($file_post);
echo "<p>Text area with POST from PHP</p>";
echo '<textarea rows="10" cols="45">';
foreach ($files_post as $line) {echo $line;}
echo '</textarea>';
$files_get = file($file_get);
echo "<p>Text area with GET from JS</p>";
echo '<textarea rows="10" cols="45">';
foreach ($files_get as $line) {echo $line;}
echo '</textarea>';
?>
source.js то что за коментами тоже самое только на jQuery
//;$(function(){
// $("#a").click(function(){
// $(location).attr("href", "index.php?file=file1.txt");
// });
// $("#b").click(function(){
// $(location).attr("href", "index.php?file=file2.txt");
// });
//});
;document.addEventListener("DOMContentLoaded", function(event){
document.getElementById('a').onclick = function (){
document.location.href = 'index.php?file=file1.txt';
};
document.getElementById('b').onclick = function (){
document.location.href = 'index.php?file=file2.txt';
};
});