php - 如何用 PHP 上传一个 .txt 文件并在另一页上逐行读取它?

标签 php file-upload

我的目标是在表单上上传一个 .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/

相关文章:

php - 如何在 PHPSESSID cookie 中设置 PATH?

php - 如何在 PHP 中增加 MySQL 时间戳?

ruby-on-rails - 将 Rails 上传到网站

ios - 在 iOS 上使用 SoundCloud API 上传轨道

php - 写入 mysql 数据库的值不正确

php - WordPress $wpdb->选项

javascript - NodeJS 多线程 : configuration not applied

python - 将 jpg、gif、png 等存储到 gae-datastore

javascript - 我可以在 RichFace 中实现文件上传的多个文件选择,或者使用 javascript 为此实现自定义标签吗?

php - 为图像的各个部分着色