使用上传的文件而不保存到服务器磁盘

时间:2010-08-07 08:54:03

标签: php

我创建了一个PHP脚本来上传文件,遗憾的是我没有权限在磁盘上保存文件。我必须上传一个excel文件(使用phpexcel),然后我必须读取文件中的所有行并保存到磁盘,有没有办法让我处理这个文件而不保存到磁盘,我试着读{{1但它不起作用。

请你建议一个处理这个文件的方法

感谢您的考虑

3 个答案:

答案 0 :(得分:4)

通过“保存到磁盘”,您的意思是将其发送给用户供他下载吗?

通常,您应具有(至少)PHP临时目录的写入权限。您是否尝试过表单和脚本是否在本地环境中工作?也许上传时出现了错误?!

最后:为什么所以你没有保存文件的持久性?你是否允许在PHP文件下面创建一个子目录(通过FTP)并给予一个完整的权限?

答案 1 :(得分:2)

  

我试图阅读$ _FILES ['file1'] ['tmp_name']

很可能你刚刚遇到错误 这经常发生在初学者程序员身上

您必须修复该错误,而不是寻找奇怪的解决方法 从检查$_FILES['file1']['error']

开始

是什么

var_dump($_FILES['file1']['error']);

说什么?

答案 2 :(得分:0)

您可以使用 HTTP PUT 方法向您的服务器发送带有一点Javascript的文件,而不是使用表单(通过HTTP POST发送多个数据)发送文件。

这种情况在PHP的官方文档中有所描述 - > PUT method support

由于文档中描述了一些限制,您必须做一些变通方法才能正常工作。

您可以从Web服务器读取直接输入流。数据将从您的Web服务器传输到您的PHP程序,并且只会保存在内存中。 使用jQuery进行PUT Ajax调用已被回答here。您可以使用jQuery上传插件,例如Uploadify