作者:lisen0001 | 来源:互联网 | 2018-05-16 00:57
我需要通过PHP脚本生成一个文件(如excel)并上传到服务器,供用户下载。一般文件不大的情况,用户在页面上点击下载,再去数据库取数据,设置heder头以流的形式输出到浏览器,并且制定文件类型的方式下载...
我需要通过 PHP 脚本生成一个文件(如 excel )并上传到服务器,供用户下载。
一般文件不大的情况,用户在页面上点击下载,再去数据库取数据,设置 heder 头以流的形式输出到浏览器,并且制定文件类型的方式下载,这当然是可以的,但是问题是现在生成一个文件可能非常大,并且很耗时,所以要做成异步的方式,用户点击下载就入一个任务到队列,在 Shell 脚本中以计划任务的形式读取队列任务,然后生成一个文件并且上传到服务器呢,这种情况如何解决?
我尝试在 PHP 中创建一个临时文件,把数据写到临时文件,但是发现这个临时文件是 resource 类型,无法通过上次函数上传,函数参数要求必须是目录名称,而传进去的是资源型
回复内容:
我需要通过 PHP 脚本生成一个文件(如 excel )并上传到服务器,供用户下载。
一般文件不大的情况,用户在页面上点击下载,再去数据库取数据,设置 heder 头以流的形式输出到浏览器,并且制定文件类型的方式下载,这当然是可以的,但是问题是现在生成一个文件可能非常大,并且很耗时,所以要做成异步的方式,用户点击下载就入一个任务到队列,在 Shell 脚本中以计划任务的形式读取队列任务,然后生成一个文件并且上传到服务器呢,这种情况如何解决?
我尝试在 PHP 中创建一个临时文件,把数据写到临时文件,但是发现这个临时文件是 resource 类型,无法通过上次函数上传,函数参数要求必须是目录名称,而传进去的是资源型
干嘛非得生成临时文件,直接生成文件,然后上传,上传成功后删除文件