So implementieren Sie PHP, laden PDF herunter und übertragen es lokal: Erstellen Sie zuerst den HTML-Seitencode und den script.js-Code. Erstellen Sie dann den PHP-Code, um die PDF-Datei lokal zu lesen, und laden Sie sie schließlich aus der Ferne herunter.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP Ajax lädt PDF-Dateien aus der Ferne herunter und speichert sie auf dem lokalen Server
Manchmal möchten wir Ajax verwenden, um einige zu speichern Insbesondere PDF-Dateien werden auf dem Remote-Server abgelegt und auf unserem eigenen Server gespeichert. Zu diesem Zeitpunkt müssen wir ein Programm schreiben, das uns dabei hilft, diese Arbeit abzuschließen. Dieser Artikel stellt PHP vor, um PDF-Dateien aus der Ferne herunterzuladen und auf dem lokalen Server zu speichern Server für die Lokalisierung. Freunde in Not Als Referenz: Der
HTML-Seitencode lautet wie folgt:
<!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-Code lautet wie folgt:
$(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-Code lautet wie folgt:
/** * * 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 Schauen Sie sich meinen lokalen Code zum Lesen von PDF-Dateien an:
<?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 "写入成功"; }
Importieren Sie abschließend die JQuery-Bibliotheksdatei. Nach dem Remote-Download können Sie sie lokal öffnen und der Inhalt ist genau derselbe wie die Originaldatei ohne verstümmelte Zeichen.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonSo laden Sie PDF in PHP herunter und speichern es lokal. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!