您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php怎么下载pdf 转存本地

2024/3/1 8:28:24发布17次查看
php下载pdf转存本地的实现方法:首先创建html页面代码以及script.js代码;然后创建本地读取pdf文件的php代码;最后把jquery库文件引进来,进行远程下载即可。
本文操作环境:windows7系统、php7.1版,dell g3电脑
php ajax 远程下载pdf文件保存在本地服务器
在一些时候我们想ajax方式来保存一些pdf文件,尤其是它放在远程服务器上,并且是保存在我们自己的服务器上存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了php 远程下载pdf文件保存在本地服务器本地化,需要的朋友可以参考下:
html页面代码如下:
<!doctype html><html> <head> <script data-require="jquery@2.1.1" data-semver="2.1.1" src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" href="style.css" /> <script src="jquery.binarytransport.js"></script> <script src="script.js"></script> </head> <body><button>download pdf</button></body></html>
script.js代码如下:
$(function() { $("button").click(function() { $.ajax({ url: "http://lch.bat.com/aa.pdf", type: "get", datatype: 'binary', success: function(result) { var blob = new blob([result], {type:"application/pdf"}); var data = new formdata(); data.append('file', blob); $.ajax({ type: 'post', url: 'http://lch.demo.com/read.php', data: data, processdata: false, contenttype: false, success: function (arg) { alert('下载成功'); } }) } }); });});
jquery.binarytransport.js代码如下:
/** * * jquery.binarytransport.js * * @description. jquery ajax transport for making binary data type requests. * @version 1.0 * */ // use this transport for "binary" data type$.ajaxtransport("+binary", function(options, originaloptions, jqxhr){ // check for conditions and support for blob / arraybuffer response type if (window.formdata && ((options.datatype && (options.datatype == 'binary')) || (options.data && ((window.arraybuffer && options.data instanceof arraybuffer) || (window.blob && options.data instanceof blob))))) { return { // create new xmlhttprequest send: function(_, callback){ // setup all variables var xhr = new xmlhttprequest(), url = options.url, type = options.type, // blob or arraybuffer. default is blob datatype = options.responsetype || "blob", data = options.data || null; xhr.addeventlistener('load', function(){ var data = {}; data[options.datatype] = xhr.response; // make callback and send data callback(xhr.status, xhr.statustext, data, xhr.getallresponseheaders()); }); xhr.open(type, url, true); xhr.responsetype = datatype; xhr.send(data); }, abort: function(){ jqxhr.abort(); } }; }});
再来看看我的本地读取pdf文件的代码:
<?php/** * created by phpstorm. * user: lca * date: 2020/9/28 * time: 9:44 *///header('access-control-allow-origin: *');// 响应类型header('access-control-allow-methods:*');// 响应头设置header('access-control-allow-headers:content-type,token,id');header("access-control-request-headers: origin, x-requested-with, content-type, accept, authorization");if(isset($_files['file'])){ $fname = "cc.pdf"; move_uploaded_file($_files['file']['tmp_name'], "/htdocs/demo/" . $fname); echo "写入成功";}
最后把jquery库文件引进来,远程下载后,本地即可以打开和原始文件内容一模一样,不会出现乱码了。
推荐学习:《php视频教程》
以上就是php怎么下载pdf 转存本地的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product