使用HREF将变量发送到PHP fopen

使用HREF将变量发送到PHP fopen,php,href,fopen,Php,Href,Fopen,我对编码知之甚少。我有一个非常基本的问题。我想使用A页上的各种链接告诉B页使用PHP显示哪个文本文件 我可以在页面B上使用PHP来显示一个特定命名的文件。例如 $f = fopen("first_file.txt", "r"); // Read line by line until end of file while(!feof($f)) { echo fgets($f) . "<br />"; } fclose($f); $f=fopen(“first_file.txt”、“r”

我对编码知之甚少。我有一个非常基本的问题。我想使用A页上的各种链接告诉B页使用PHP显示哪个文本文件

我可以在页面B上使用PHP来显示一个特定命名的文件。例如

$f = fopen("first_file.txt", "r");
// Read line by line until end of file
while(!feof($f)) {
echo fgets($f) . "<br />";
}
fclose($f);
$f=fopen(“first_file.txt”、“r”);
//逐行读取,直到文件结束
而(!feof($f)){
回声fgets($f)。“
”; } 外国法郎(f美元);
但我不想创建和存储数百个页面,每个页面对应一个要显示的文本文件。我更喜欢创建B页作为一种模板,并使用a页链接以某种方式传递的变量(从文本文件)填充其文本

有人告诉我在A页上使用类似的东西(这可能是完全错误的):

但是我不知道如何修改B页上的PHP代码以从A页的链接中获取变量。有什么帮助吗?

首先

<a href="pageB.php?txtfile=first_file.txt">First Text</a> 
安全警告,任何人都可以访问您服务器上的任何文件,如果您将他们想要的文件名添加到url中

例如,可能有人决定请求此URL:

pageB.php?txtfile=../../../../../../../../etc/passwd

另一种办法:

 <a href="pageB.php?txtfile=1">First Text</a>

如果文件列表很大,您可能需要使用数据库来管理它。

哦,天哪,不是。巨大的安全问题。不要尝试。只是认为应该更强调一下:)好主意@David,我倾向于删除除警告之外的所有内容作为回答。那么我应该如何显示文件中的文本呢?有几个选项-不如
txtfile=1
然后让一个数组将id(1)与文件列表匹配
$f=array('1'=>'file1.txt',)好的,我正在考虑这个问题。所以$f=array('1'=>'file1.txt',)$f=数组('2'=>'file2.txt',);etc.$f=fopen(“first_file.txt”,“r”);//当(!feof($f)){echo fgets($f)。“
”;}fclose($f)时,逐行读取直到文件结束;
pageB.php?txtfile=../../../../../../../../etc/passwd
 <a href="pageB.php?txtfile=1">First Text</a>
$files=array('1'=>'file1.txt','2'=>'file2.txt');
$f = fopen($files[$_GET['txtfile']], "r");
 ...