Heim  >  Artikel  >  Backend-Entwicklung  >  So laden Sie PDF in PHP herunter und speichern es lokal

So laden Sie PDF in PHP herunter und speichern es lokal

藏色散人
藏色散人Original
2021-05-21 09:34:003008Durchsuche

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.

So laden Sie PDF in PHP herunter und speichern es lokal

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: &#39;binary&#39;,
            success: function(result) {
                var blob = new Blob([result], {type:"application/pdf"});
                var data = new FormData();
                data.append(&#39;file&#39;, blob);
                $.ajax({
                   type: &#39;POST&#39;,
                   url: &#39;http://lch.demo.com/read.php&#39;,
                   data: data,
                   processData: false,
                   contentType: false,
                   success: function (arg) {
                       alert(&#39;下载成功&#39;);
                   }
               })
            }
        });
    });
});

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 == &#39;binary&#39;)) || (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(&#39;load&#39;, 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(&#39;Access-Control-Allow-Origin: *&#39;);
// 响应类型
header(&#39;Access-Control-Allow-Methods:*&#39;);
// 响应头设置
header(&#39;Access-Control-Allow-Headers:content-type,token,id&#39;);
header("Access-Control-Request-Headers: Origin, X-Requested-With, content-Type, Accept, Authorization");
if(isset($_FILES[&#39;file&#39;])){
    $fname = "cc.pdf";
    move_uploaded_file($_FILES[&#39;file&#39;][&#39;tmp_name&#39;], "/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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn