【发布时间】:2010-04-09 17:07:08
【问题描述】:
我需要一点帮助:
我从 HTML 上传表单中获取了一个文件。我在 $File 中有一个“目标”文件名。
当我这样做时:
copy($_FILES['binfile']['tmp_name'], $File);
echo '<hr>' . filesize($_FILES['binfile']['tmp_name']);
echo '<hr>' . filesize($File);
一切正常。我两次得到相同的号码。
但是,当我删除 filesize() 的第一次调用时,我得到“0”(零)。
copy($_FILES['binfile']['tmp_name'], $File);
echo '<hr>' . filesize($File);
有什么建议吗?我究竟做错了什么?为什么我需要先获取“原始”文件的文件大小,然后才能获取副本的大小?
(实际上就是这样:我需要为原始文件调用 filesize()。既不 sleep() 也不调用 filesize() 另一个文件有帮助。)
系统:
- Apache 2.0
- PHP 5.2.6
- Debian Linux (Lenny)
【问题讨论】:
-
不要使用
copy;请改用move_uploaded_file。 -
@Gumbo:酷。不知道有这个功能。似乎也解决了我的问题。
-
您是否检查过其他设置中的类似行为?
-
@zaf 我尝试对系统中已存在的文件执行 copy() 和以下 filesize()。那里没问题。但是,没有在其他服务器上尝试。
标签: php file-upload filesize