压缩成zip文件并通过curl上传

class test{

//curl上传
function testPost(){
$url = "http://liling.gov.gsp365.cn/Api/Upload/postFile";
$file = ‘D:\phpStudy\WWW\testcurl\json.zip‘;
$data = array(
‘username‘ => ‘test‘,
‘pwd‘ => ‘123456‘,
‘uploadFile‘ => new CurlFile($file)
);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
print_r($response);
}

//压缩文件
function addFileToZip($path,$zip){
$handler=opendir($path); //打开当前文件夹由$path指定。
while(($filename=readdir($handler))!==false){
if($filename != "." && $filename != ".."){//文件夹文件名字为‘.‘和‘..’,不要对他们进行操作
if(is_dir($path."/".$filename)){// 如果读取的某个对象是文件夹,则递归
$this->addFileToZip($path."/".$filename, $zip);
}else{ //将文件加入zip对象
if($filename==‘json.json‘||$filename==‘json2.json‘||$filename==‘json3.json‘)
$zip->addFile($filename);
}
}
}
@closedir($path);
$this->testPost();
}

//调用addFileToZip方法
function addZip(){
$zip=new ZipArchive();
if($zip->open(‘json.zip‘, ZipArchive::OVERWRITE)=== TRUE){
$this->addFileToZip(‘./‘, $zip); //调用方法,对要打包的根目录进行操作,并将ZipArchive的对象传递给方法
$zip->close(); //关闭处理的zip文件
}
}

//从数据库查询数据并存储成json文件
function jsonData(){
$pdo = new PDO("mysql:host=localhost;dbname=json","root","root");
$rs = $pdo -> query("select * from drugin");
while($row = $rs -> fetch(PDO::FETCH_ASSOC)){
$res[] =$row;
}

$data = eval(‘return ‘.iconv(‘gbk‘,‘utf-8‘,var_export($res,true)).‘;‘);
$phpjson = json_encode($data,JSON_UNESCAPED_UNICODE);
$files = "json.json";

file_put_contents($files,$phpjson);
$this->addZip();
}
}

$mytest=new test();
$mytest->jsonData();

?>

时间: 2024-12-13 14:52:02

压缩成zip文件并通过curl上传的相关文章

vue-webpack项目自动打包压缩成zip文件批处理

为什么需要这个? 使用vue框架开发项目,npm run build这个命令会一直用到,如果需要给后端发包,那你还要打包成zip格式的压缩包,特别是项目提测的时候,一天可能要执行重复好几次,所以才有了写这个批处理的冲动. 虽然说以前没写过,但至少用过.找了份批处理命令的文章了解了下,按自己预先想好的思路,百度了关键的执行命令,然后就自己不断的修改调试,最终完成了这个集webpack打包.压缩成zip格式文件.打开当前文件夹这三个功能的批处理. 怎么用? 只需要把这个批处理文件放在项目根目录下,轻

linux下压缩成zip文件解压zip文件

linux  zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux  zip命令参数列表: -a     将文件转成ASCII模式 -F     尝试修复损坏的压缩文件     -h     显示帮助界面 -m     将文件压缩之后,删除源文件 -n 特定字符串    不压缩具有特定字尾字符串的文件 -o     将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q     安静模式,在压缩的时候不显示指令的执行过程 -r     将指定的目录

IOS开发—图片压缩/解压成Zip文件

图片压缩/解压成Zip文件 本文介绍如何将图片压缩成Zip文件,首先需要下载第三方库ZipArchive 并导入项目中. ZipArchive 库地址:https://github.com/mattconnolly/ZipArchive 一.文档结构: 二.准备工作: 1.框架导入: 2.ZipArchive.m文件使用非ARC机制 三.代码示例: // // ViewController.m // UnzipImgDemo // // Created byLotheve on 15/4/10.

asp.net 把图片压缩成zip之后再进行下载

//这是导出的js方法 function fundaochu() { var data = "keyword=GetImageListdaochu&type=daochu&modality=" + $(eventRow).attr("study_date") + "&strWhere=a.REGISTRATION_ID=" + $(eventRow).attr("reg_id") + " an

PHP如何通过CURL上传文件

PHP使用CURL上传文件只需发送一个POST请求就可以了,在请求中设置某个字段为需要上传的文件全路径,并且以“@”开头,然后使用CURL把该变量以POST方式发送到服务器,在服务端即可以从超级全局变量$_FILES中取到相应的上传文件信息. 下面我们以一个例子来展示这个过程. 假设本地有一个文本文件log.txt,其路径为“/www/test/log.txt”,内容如下: this is a file for testhello PythonTab!为了把这个文件上传给服务端的脚本http:/

php curl上传文件$_FILES为空问题

php使用curl上传文件,代码如下: 发送的代码(完全是官方的示例) <?php /* http://localhost/upload.php:print_r($_POST);print_r($_FILES);*/ $ch = curl_init(); $data = array('name' => 'Foo', 'file' => '@/home/vagrant/test.png'); curl_setopt($ch, CURLOPT_URL, 'http://localhost/t

PHP 5.6 如何使用 CURL 上传文件

以前我们通过 PHP 的 cURL 上传文件是,是使用“@+文件全路径”的来实现的: curl_setopt(ch, CURLOPT_POSTFIELDS, array( 'file' => '@'.realpath('image.png'), )); PHP 从 5.5 开始引入了新的 CURLFile 类用来指向文件,CURLFile 类也可以详细定义 MIME 类型.文件名等可能出现在multipart/form-data 数据中的附加信息,PHP 推荐使用 CURLFile 替代旧的@语

[PHP]curl上传多文件

码一下curl上传多文件的行 5.5之前版本的写法 $file = array( 'pic[0]'=>"@E:\\wwwroot\\10003\\temp_56.ini;type=text/html;filename=temp_56.ini", 'pic[1]'=>"@E:\\wwwroot\\10003\\temp_29.html;type=text/html;filename=temp_29.html" ); 5.5以上版本的写法 php 5.5 v

如何让SQL Server数据库自动备份并压缩成rar文件

1.  先开启xm_cmdshell服务 xp_cmdshell 扩展存储过程将命令字符串作为操作系统命令 shell 执行,并以文本行的形式返回所有输出.由于xp_cmdshell 可以执行任何操作系统命令,所以一旦SQL Server管理员帐号(如sa)被攻破,那么攻击者就可以利用xp_cmdshell 在SQL Server中执行操作系统命令,如:创建系统管理员,也就意味着系统的最高权限已在别人的掌控之中.由于存在安全隐患,所以在SQL Server 2005中, xp_cmdshell