所以这是我在过去一小时里遇到的相当奇怪的经历。
假设我有一个由select控制的数据源
$fileName = "../data/".$_POST["file"];
$fh = fopen($fileName);
数据文件夹中有一个名为“USA”的文件。当select选项启动时,jQuery将其发送到PHP文件,该文件将打开正确的文件并从文件中获取正确的内容并将它们放入不同的select语句中。这不起作用(无法打开流错误发生)但这不是奇怪的部分。奇怪的是,如果我使用绝对名称而不是帖子,例如...
$fileName = "../data/USA";
$fh = fopen($fileName);
我还验证了$ _POST [“file”]实际上是“USA”
答案 0 :(得分:2)
$file = trim($_POST["file"]);
$fileName = "../data/".$file;
$fh = fopen($fileName, "r");
答案 1 :(得分:0)
<select>
需要有一个名称:
<select name="file">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
我的例子中没有看到任何内容。 $_POST['file']
将获得<option value="1">
如果仍无效,请添加var_dump($_POST["file"]);
并查看其中的内容。它应该给你类似string(1) "USA"