Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法读懂这句话;“实际文件创建日期”;用PHP?_Php - Fatal编程技术网

有没有办法读懂这句话;“实际文件创建日期”;用PHP?

有没有办法读懂这句话;“实际文件创建日期”;用PHP?,php,Php,我目前正在做一个用PHP和mySQL进行网站编程的项目。通常,该项目允许用户将其文件上载到服务器,并在以后根据“文件创建日期”执行搜索。我在这里使用双引号,因为我想提取文件创建日期(不是文件修改日期) 我一直在浏览许多编程论坛和参考网站,其中大多数只是介绍了filemtime()和filectime()的使用。我尝试了这两种方法,它们只返回了“文件修改时间”(我在这个开发阶段将文件上载到服务器的时间) 了解实际的文件创建时间对我来说非常重要,因为作为项目的一项要求,我稍后将使用它来执行时间线搜索

我目前正在做一个用PHP和mySQL进行网站编程的项目。通常,该项目允许用户将其文件上载到服务器,并在以后根据“文件创建日期”执行搜索。我在这里使用双引号,因为我想提取文件创建日期(不是文件修改日期)

我一直在浏览许多编程论坛和参考网站,其中大多数只是介绍了
filemtime()
filectime()
的使用。我尝试了这两种方法,它们只返回了“文件修改时间”(我在这个开发阶段将文件上载到服务器的时间)

了解实际的文件创建时间对我来说非常重要,因为作为项目的一项要求,我稍后将使用它来执行时间线搜索。我被困在这里了。非常感谢您的帮助和建议


我在web和数据库服务器上使用“xampp”(应用程序默认配置),在前端使用HTTP+PHP。

当用户在web浏览器中上载文件时,实际情况是表单提交数据中添加了三条信息:

  • 文件名(浏览器将基于其在用户系统上的名称)
  • 文件类型(这将是浏览器的最佳猜测,通常仅基于文件名)
  • 文件的二进制内容
即使用户的计算机和服务器都有地方记录文件的创建日期,也不会随上载一起传输


在构建任何基于web的系统时,还需要记住一件非常重要的事情:您只有用户提供给您的信息,而这些信息可能是故意或意外错误的。如果有时间戳,它可能是错误的,因为用户的时钟是错误的;或者它可能是由一个让用户手动设置的软件发送的。

AFAIK这是不可能的。文件(至少在POSIX中)没有filectime的“实际创建时间”,Windows将返回创建时间,而对于Unix,更改时间是您可以得到的最佳时间,因为在Unix上没有创建时间(在大多数文件系统中)。看这里,这个问题已经有了答案。这个答案能回答你的问题吗?谢谢你们的快速反应。是的,你提到的这一点是我在许多论坛和参考资料中看到的。实际上,目前的工作与我在大学的最后一年项目有关。因此,我可能必须与我的主管一起审查项目要求或考虑其他解决方案。再次感谢!跟踪此类信息最明显的地方是数据库。我想这就是你的主管的想法。很好的灵感!也许我可以要求用户在上传文件时手动输入时间戳(因此他们有责任确保“文件创建日期”的正确性),而不是直接由服务器提取时间戳(这似乎无论如何都不可能)。谢谢你的提醒!