打开文件,写入文件,将文件保存为 zip 并流式传输给用户以供下载
Posted
技术标签:
【中文标题】打开文件,写入文件,将文件保存为 zip 并流式传输给用户以供下载【英文标题】:Open file, write to file, save file as a zip and stream to user for download 【发布时间】:2011-01-18 04:51:07 【问题描述】:如果有人能给我一些关于创建这个脚本的建议,我将把它添加到下面的现有插件(见下面的代码)脚本中。
所以我现在(使用下面的脚本)是一种将一组预定义的默认值插入 wordpress 站点的方法。我要添加的是一个帮助实用程序,由一个按钮或链接激活,该按钮或链接仅读取“复制设置”,它将获取站点的现有设置(sb2_options),将其写入文件,然后打包生成的文件,以及原始文件到一个新的 zip 文件中,该文件实质上成为原始插件的自定义副本,以供在另一个站点中使用。
因此代码需要获取一个包含静态代码的现有 .php 文件,打开它进行编写,然后插入匹配特定前缀的 wordpress 选项表中的所有名称/值对(例如,我所有的自定义选项以“sb2_”为前缀)。完成此操作后,它会将生成的文件保存为“plugin.zip”,例如,并将其流式传输给用户以供下载。
这是我现在拥有的代码,用于设置网站的默认设置...
<?php
/**
* Plugin Name: my plugin
* Description: Sets up your sites defaults.
* Version: 1.0
*/
function sb2_plugin_init()
if ( get_option( 'sb2_plugin' ) == "")
//Begin Insert List here. Open the file and write out all the name value pairs, just like in the example.
//Option 1",
$sb2_option1 = "test";
//Option 2",
$sb2_option2 = "test";
//Option 1",
$sb2_option3 = "test";
//End insert list here
//update site defaults
update_option('sb2_option1', sb2_option1);
update_option('sb2_option2', sb2_option2);
update_option('sb2_option3', sb2_option3);
//etc
// Create post objects
$my_post = array();
$my_post['post_title'] = 'Main Blog Post Title';
$my_post['post_content'] = 'Main Blog Post Content';
$my_post['post_type'] = 'post';
//TODO >>> NEED TO MAKE THE POST STICKY
// Insert the post into the database
wp_insert_post($my_post);
wp_cache_flush();
update_option('sb2_plugin', "1");
add_action( 'init','sb2_plugin_init');
【问题讨论】:
【参考方案1】:读取和写入文件对您来说应该不难,但这是 create zip files 的好方法。
【讨论】:
很酷,谢谢!你知道如何通过脚本使帖子置顶吗?以上是关于打开文件,写入文件,将文件保存为 zip 并流式传输给用户以供下载的主要内容,如果未能解决你的问题,请参考以下文章
将文件解压缩到内存中,调整文件,压缩并流式传输到客户端(Node.js)
C语言如何用FtpPutFile()函数上传文件到Ftp服务器!下载用FtpGetFile()可以!
R语言write.xlsx函数将数据写入Excel文件:写入Excel文件并自定义表单的名称将数据写入Excel文件新的表单(sheet)中将文件保存为xls文件格式(而不是xlsx)