PHP临时处理一个文件


PHP temporarily work with a file

我希望能够将CSV文件上传到网页,然后让PHP将该信息存储到数组并使用它做东西而无需将CSV文件保存到服务器。这怎么可能呢?

查看它,有正常的GETPOST,它们将文件上传到服务器。也有PUT,但它看起来像它只是保存在服务器上已经存在的文件之上。从从CSV中提取数据的过程来看,PHP需要知道文件的位置。

是否有可能只是有PHP工作与CSV文件,而不将其保存到服务器的某个地方?这样我就不用担心上传文件到服务器的安全问题了。我不需要保留CSV数据,只需要在当前会话中操作它。

当文件从表单上传到服务器时,该文件被临时存储($_FILES['someinputname']['tmp_name'])。没有人说你必须对这个文件做任何处理才能使用它。您可以直接从临时路径读取,而忽略它。当然,这并不能让你免受伤害。验证文件类型是您所期望的,而不是恶意的,必须在对您不信任的文件进行任何操作之前完成。

安全不偷懒

CSV只是一个文本文件。因此,您可以使用javascript从客户端读取文件,并从文件中获取文本。

Javascript -读取本地文本文件

然后将文本发送到服务器,然后使用它