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