我有一个表格,其中包含歌曲标题的下拉列表。我希望能够单击其中一首歌曲标题并将歌词加载到同一页面上。歌词包含在名为“Lyrics”的文件夹中的 .txt 文件中。
例子:
下拉列表包含:Song1 Song2 Song3 等。
当用户点击歌曲时,相应的 .txt 文件的内容会显示在同一页面上。有任何想法吗?
我有一个表格,其中包含歌曲标题的下拉列表。我希望能够单击其中一首歌曲标题并将歌词加载到同一页面上。歌词包含在名为“Lyrics”的文件夹中的 .txt 文件中。
例子:
下拉列表包含:Song1 Song2 Song3 等。
当用户点击歌曲时,相应的 .txt 文件的内容会显示在同一页面上。有任何想法吗?
使用 JQuery 会更容易:
<a href="somefile.txt" class="link">Song 1</a>
<pre id="lyrics">
</pre>
<script>
$(function(){
$('.link').click(function(){
$.get(this.href,null,function(lyrics){
$('#lyrics').html(lyrics);
return false;
});
});
});
</script>
<?php
$song = intval( $_GET[ 'song_id' ] );
$songs = array( 0 => NULL, 1 => 'Song1', 2 => 'Song2', 3 => 'Song3' );
echo file_get_contents( $songs[ $song ] . '.txt' );
?>
祝你好运!
如果您有一个歌曲列表,并且您使用简单的命名约定,那么在您考虑使用之前将其用作白名单来检查 GET 值是否允许
文件获取内容
$song = $_GET['song'] ; $file = '/歌词/' . $歌曲。'。文本文件' ; $songs = array('help', 'she-loves-you', 'yellow-submarine' ); // 作为双重检查,看看文件是否也存在 if(in_array($song, $songs) && file_exists($file)) { 回声文件获取内容($文件); }
如果你很聪明,你也可以重复使用相同的 $songs 数组来创建你的下拉列表。
<option value=yellow-submarine> Yellow Submarine</option>
然后,如果您将其保存在数据库中,那么您可能会认为“蛞蝓”“黄色潜艇”将成为理想的私钥,但不要让我开始...
这是一个快速的解决方案,但非常不安全,仅将其用作示例,如何完成,但不应该:
<?
// 这里是你的页面代码 // 这是你想放歌词的正文
file_get_contents($_GET['songName'].".txt")
// 别的..
?>
在menu:
<a href="songs.php?songName=song1">song1</a>