Я прочитал следующие сообщения, но они немного перевернуты для меня. Я думаю, что я пытаюсь сделать что-то довольно простое, и мне хотелось бы получить некоторые рекомендации.
Как передать переменные и данные с PHP на JavaScript?
передача PHP-переменных через javascript windows.open на другую страницу PHP
Перенос переменной php в новое окно
Вот так:
У меня есть php-скрипт, который очень прост, он вызывает другой скрипт и передает 2 переменные:
<?php echo '<script type="text/javascript" language="javascript"> window.open("http://callpage.com/utils/cdr.php?callernum=123456789&calltime=2017-02-22 16:24:12"); </script>'; ?>
Примечание. Это просто «жесткий код».
Следующий скрипт принимает эти числа и строит переменную file / url.
Давайте скажем
$file = /var/www/html/file.wav
То, что я пытаюсь открыть, открывает новое окно:
http://newpage.com/$file
Я прочитал и обнаружил, что я считаю, что лучше всего использовать Javascript, но я не могу представить свою переменную в Javascript.
Вот что я хотел бы получить:
<?php $file = /var/www/html/file.wav echo '<script type="text/javascript" language="javascript"> window.open("http://newpage.com/$file"); </script>'; ?>
Несколько примечаний:
Я не забочусь о размерах окон и т. Д., Его wav-файле, который я ожидаю от браузера просто играть с помощью обычного интерфейса браузера по умолчанию для Wav.
Я довольно новичок и на PHP, и на Javascript, так голый со мной, но у меня хорошая кривая обучения. Его просто страницы, которые я читаю, слишком сложны для того, что я пытаюсь выполнить.
Используйте интерполяцию строк с двойными кавычками для оператора echo и одинарные кавычки внутри javascript:
echo "<script type='text/javascript' language='javascript'> window.open('http://newpage.com/$file'); </script>";
Интерполированный файл переменной PHP PHP должен быть правильно интерпретирован как строка, а значение, которое оно хранит, должно отображаться в URI вашего javascript. Ознакомьтесь с этой простой для понимания информацией об переменной интерполяции http://phppot.com/php/variable-interpolation-in-php/
если я правильно понял, что вы хотите, вы должны конкатенировать строку с переменной, чтобы ее заменили
<?php $file = '/var/www/html/file.wav'; echo '<script type="text/javascript" language="javascript"> window.open("http://newpage.com/'.$file.'"); </script>'; ?>
Вот мой «окончательный» фрагмент кода:
$query->execute(); while ($row = $query->fetch(PDO::FETCH_ASSOC)) { $uid = $row['uniqueid']; foreach(glob($path. "*". $uid. "*") as $file) { $link = "http://newpage.com$file"; echo "<script type='text/javascript' language='javascript'> window.open('$link'); </script>"; } }