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

So laden Sie PDF in PHP herunter und speichern es lokal

藏色散人
Freigeben: 2023-03-09 20:20:02
Original
3045 Leute haben es durchsucht

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>
Nach dem Login kopieren

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;);
                   }
               })
            }
        });
    });
});
Nach dem Login kopieren

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();
            }
        };
    }
});
Nach dem Login kopieren

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 "写入成功";
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage