我的目标是在表单上上传一个 .txt 文件(浏览),将文件发布到另一个 php 页面,然后逐行读取该文件。
到目前为止,我的代码在这里。文件 1:HTML 上传:
<form action="TestParse.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label> <input type="file" name="file" id="file"/>
<input type="submit" value="Submit">
</form>
文件 2:阅读文件
if ($_FILES["file"]["error"] > 0)
{
echo "Error: " . $_FILES["file"]["error"] . "<br />";
}
elseif ($_FILES["file"]["type"] !== "text/plain")
{
echo "File must be a .txt";
}
else
{
$file_handle = fopen($_FILES["file"]["name"], "rb");
}
如我所见,第二个文件将验证没有错误并且上传的文件是.txt。然后它将 fopen() 文件,然后我可以使用 fgets() 读取(我已经设法让所有这些工作)。
但是,仅当上传的 .txt 文件恰好与 PHP 文件位于同一目录中时,此代码才有效。否则我会收到很多错误消息。而且,当您无法上传不在 PHP 文件文件夹中的文件时,它首先就违背了拥有文件上传系统的目的。
有人能告诉我这段代码有什么问题吗?