PHP 다운로드 pdf를 구현하고 로컬로 전송하는 방법: 먼저 html 페이지 코드와 script.js 코드를 생성한 다음 PDF 파일을 로컬에서 읽을 수 있는 PHP 코드를 생성하고 마지막으로 jquery 라이브러리 파일을 원격으로 다운로드합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP ajax는 PDF 파일을 원격으로 다운로드하여 로컬 서버에 저장합니다.
때때로 ajax를 사용하여 일부 파일을 저장하고 싶을 때가 있습니다. 특히 PDF 파일은 원격 서버에 저장되어 있으며, 이 작업을 완료하는 데 도움이 되는 프로그램을 작성해야 합니다. 이 기사에서는 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(); } }; } });
Let's 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를 다운로드하고 로컬에 저장하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!