2010-08-07 75 views
4

我已经创建了一个PHP脚本来上传文件,不幸的是我没有权限保存磁盘上的文件。我必须上传一个excel文件(使用phpexcel),然后我必须读取文件中的所有行并保存到磁盘,有没有办法让我在不保存到磁盘的情况下处理这个文件,我试图读取$_FILES['file1']['tmp_name'],但它不起作用。使用上传的文件而不保存到服务器磁盘

可以ü请建议处理此文件

谢谢你的考虑

+2

您不允许在服务器上的任何位置保存数据?为什么?这听起来像一个错误的配置。 – 2010-08-07 10:02:48

+1

你需要更具体。编程是关于细节的。正如Pekka所说,告诉我们为什么你“没有权限将文件保存在磁盘上”。另外,当你说“它不起作用”。它怎么不工作?请描述其行为,列出所有错误消息或其他输出。帮助我们来帮助你。 – APC 2010-08-08 08:14:39

回答

4

通过一种方法“保存到磁盘”你的意思是发回给用户为他下载了吗?

通常情况下,您应具有对(至少)PHP临时目录的写入访问权限。您是否尝试过表单和脚本是否在本地环境中工作?也许上传有什么问题呢?!

终于:为什么所以你没有保存文件的权限?你允许在你的PHP文件(通过FTP)下面创建一个子目录,并给这个完整的权限?

+1

+1:这里的“为什么”是一个重要的问题。这听起来像是一个严重的错误配置。 – 2010-08-07 10:04:30

2

我试图读取$ _FILES [ '文件1'] [ 'tmp_name的值']

最有可能你遇到了错误。
发生在初学者程序员经常发生的问题

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

是什么

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


开始?

+1

“新手程序员”的评论可能不是每个人的口味,但这是一个非常有建设性的答案。为什么downvote? – 2010-08-07 10:31:33

+0

如果一个单词“newbie”听起来很粗鲁,我可以将其改为任何政治上正确的术语。 – 2010-08-07 10:34:03

+0

我个人不认为这很粗鲁,但也许有人过分敏感。那个,还是一个复仇的下场者。对这些不能做任何事...... – 2010-08-07 11:01:56

0

您可以使用HTTP PUT方法向您的服务器发送含有少量JavaScript的文件,而不用发送表单(通过HTTP POST发送多个数据)。

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

由于文档中描述的一些限制,您必须采取一些解决方法才能正常工作。

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

+0

哈哈,这真的有帮助答案:) – 2010-08-07 12:09:26

+0

这是什么意思。我的回答有什么问题? – DrDol 2010-08-07 12:14:01

相关问题