Php 从目录中快速检索特定文件

Php 从目录中快速检索特定文件,php,mysql,Php,Mysql,我在一个网站上工作,我的客户希望将客户发票(PDF)上传到Web服务器上的一个目录中。然后,当客户登录时,他们可以查看所有发票并按日期排序 因为他每个月要上传大约1000张发票,所以我在想实现这一点的最佳方法。他不想一张一张地上传发票。他宁愿一次上传100个左右。我认为每张发票都需要在文件名中包含客户的账号和日期,以帮助完成此过程。然而,即使这样,如果有数千张发票,在上传所有这些发票后,可能还需要自动将文件路径链接到数据库 有人想好让这个项目运行吗?将所有“尚未卸载”的PDF文件放在一个目录中。

我在一个网站上工作,我的客户希望将客户发票(PDF)上传到Web服务器上的一个目录中。然后,当客户登录时,他们可以查看所有发票并按日期排序

因为他每个月要上传大约1000张发票,所以我在想实现这一点的最佳方法。他不想一张一张地上传发票。他宁愿一次上传100个左右。我认为每张发票都需要在文件名中包含客户的账号和日期,以帮助完成此过程。然而,即使这样,如果有数千张发票,在上传所有这些发票后,可能还需要自动将文件路径链接到数据库

有人想好让这个项目运行吗?

将所有“尚未卸载”的PDF文件放在一个目录中。从PDF(OCR或如果它们仍然包含文本)中获取账号、发票号和日期,并使用它们将条目添加到数据库中

假设您没有将PDF加载到数据库中,请在数据库插入工作后将其移动到永久位置


更好的是,您不是从数据库中首先生成PDF吗?将此存档步骤添加为PDF生成过程的一部分。

上载本身是如何工作的?你不能指望他手动上传1000个文件…他们将通过FTP将发票上传到预定义的目录。如果它真的必须是第70个FTP协议及其所有恼人的副作用,那么至少添加一些加密,以便没有任何人都能读到登录详细信息。因此,尝试使用FTP,或者更好的,SFTP。但是,后者需要不同的客户端和服务器软件。无论上传是如何完成的,都要尽量避免客户自己触发导入过程。您必须要求hm使用两个不同的应用程序,然后自己编写一个小型“导入客户机”(并使用http进行上传和通信)可能更有意义。是的,FTPS或SFTP将是一种选择。我希望这个过程对于客户端来说是简单的,他们已经使用FTP了,所以这应该是一个不需要动脑筋的过程。启动一个过程是我希望他们不要担心的事情。也许是寻找最近上传的PDF的cron作业?当然,cron作业很简单,但也有点优雅。您还可以将PAM系统配置为在客户每次注销时启动导入作业。客户机将通过FTP将PDF上载到Web服务器。你是说我有一个脚本可以读取PDF格式的文本?也许我可以改为读取元数据?而且,我猜客户端会首先将PDF上传到一个目录,然后触发一个进程,在该目录中搜索所有新上传的PDF?那么这些PDF文件的“元数据”包含什么?你从哪里得到的?我的想法是,我需要知道发票的日期和发票所针对的公司的账号。我不太熟悉从OCR中提取这些信息,但我不想使用OCR的主要原因是为了防止发票格式发生变化。相反,如果我要求客户确保所有发票文件名使用独特的格式,如ACCOUNT_NUM-DATE.pdf,那么我可以从那里提取信息。困难的部分是编写一个脚本,找到所有最近上传的PDF,并将其文件路径存储在链接到公司帐户的数据库中。在unix上,
find
是您的朋友。另外,有一个“上传”目录,然后将文件移动到永久的家中作为处理的一部分。这也将阻止他们使用FTP删除文件。