Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memaparkan PDF dalam Pelayar dengan Penjejakan Klik dan Penyembunyian Lokasi Menggunakan PHP atau Perl?

Bagaimana untuk Memaparkan PDF dalam Pelayar dengan Penjejakan Klik dan Penyembunyian Lokasi Menggunakan PHP atau Perl?

Susan Sarandon
Susan Sarandonasal
2024-10-19 18:13:01441semak imbas

How to Display PDFs in Browsers with Click Tracking and Location Concealment Using PHP or Perl?

Memaparkan Fail PDF dalam Pelayar Pengguna Menggunakan PHP atau Perl

Masalah: Pengguna memerlukan keupayaan untuk melihat PDF fail dalam penyemak imbas mereka, dengan fungsi tambahan menjejak klik dan menyembunyikan lokasi sebenar PDF.

Penyelesaian:

Kedua-dua PHP dan Perl menawarkan kaedah untuk memaparkan fail PDF secara langsung dalam pelayar. Berikut ialah langkah asas yang terlibat:

PHP:

<code class="php">header('Content-type: application/pdf');
readfile('the.pdf');</code>

Perl:

<code class="perl">open(PDF, "the.pdf") or die "could not open PDF [$!]";
binmode PDF;
my $output = do { local $/; <PDF> };
close (PDF);

print "Content-Type: application/pdf\n";
print "Content-Length: " .length($output) . "\n\n";
print $output</code>

Pertimbangan Tambahan:

  • Untuk membenamkan PDF dalam halaman, tetapkan pengepala Pelupusan Kandungan kepada sebaris; filename="the.pdf".
  • Pastikan pengguna memasang pemalam pembaca PDF yang diperlukan (cth., Adobe Reader).
  • Untuk melumpuhkan bar kemajuan pemuatan, lumpuhkan Accept-Ranges: pengepala bait.

Kod Contoh:

PHP (lengkap):

<code class="php">$file = './path/to/the.pdf';
$filename = 'Custom file name for the.pdf';

header('Content-type: application/pdf');
header('Content-Disposition: inline; filename="' . $filename . '"');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file));
header('Accept-Ranges: bytes');

readfile($file);</code>

Perl (lengkap):

<code class="perl">use strict;
use warnings;

my $file = 'the.pdf';
my $filename = 'Custom file name for the.pdf';

open(PDF, "<$file>") or die "Could not open PDF: $!";
binmode PDF;

my $size = -s PDF;

print "Content-type: application/pdf\n";
print "Content-Disposition: inline; filename=\"$filename\"\n";
print "Content-Transfer-Encoding: binary\n";
print "Content-Length: $size\n\n";

print while <PDF>;</code>

Nota: Tetapan penyemak imbas mungkin mengatasi teknik ini dan memaksa PDF memuat turun atau membuka dalam aplikasi luaran.

Atas ialah kandungan terperinci Bagaimana untuk Memaparkan PDF dalam Pelayar dengan Penjejakan Klik dan Penyembunyian Lokasi Menggunakan PHP atau Perl?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn