我的目标是在表单上上传一个 .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 文件文件夹中的文件时,它首先破坏了拥有文件上传系统的目的。
有人能告诉我这段代码有什么问题吗?
最佳答案
逐行阅读,这段代码对我有用:
$fp = fopen($_FILES['uploadFile']['tmp_name'], 'rb');
while ( ($line = fgets($fp)) !== false) {
echo "$line<br>";
}
不需要保存。
关于php - 如何用 PHP 上传一个 .txt 文件并在另一页上逐行读取它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10694050/