我在这里有一个真正的头脑.
这是我的系统配置:
这是我的问题:
我有一个简单的文件上传表单.众所周知,当PHP接受文件上载时,该文件会被赋予一个临时名称,并在处理之前放在临时目录中.在我的例子中,PHP将文件放在临时目录(恰好是E:\ Inetpub_IIS\tmp,E:\ Inetpub_IIS\wwwroot旁边),然后立即"忘记"文件存在,直到垃圾收集器出现,删除临时文件.更具体地说,临时文件是在服务器上的临时目录中创建的,但是当我在该文件上调用sha1_file()时,该函数不返回任何内容.file_exists()也失败了.这让我觉得PHP无法找到该文件.下面的ProcMon日志显示PHP正在寻找合适的位置.
这是我的ProcMon日志:
2:43:14.9175650 PM php-cgi.exe 5020 CreateFile E:\Inetpub_IIS\tmp\php3F86.tmp SUCCESS Desired Access: Generic Read, Disposition: Create, Options: Synchronous IO Non-Alert, Non-Directory File, Attributes: N, ShareMode: None, AllocationSize: 0, Impersonating: NT AUTHORITY\IUSR, OpenResult: Created
2:43:14.9182596 PM php-cgi.exe 5020 CloseFile E:\Inetpub_IIS\tmp\php3F86.tmp SUCCESS
2:43:14.9184424 PM php-cgi.exe 5020 QueryOpen E:\Inetpub_IIS\tmp\php3F86.tmp SUCCESS CreationTime: 12/27/2011 2:43:14 PM, LastAccessTime: 12/27/2011 2:43:14 PM, LastWriteTime: 12/27/2011 2:43:14 PM, ChangeTime: 12/27/2011 2:43:14 PM, AllocationSize: 0, EndOfFile: 0, FileAttributes: …Run Code Online (Sandbox Code Playgroud)