Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melampirkan Berbilang Fail ke E-mel Menggunakan PHP?

Bagaimana untuk Melampirkan Berbilang Fail ke E-mel Menggunakan PHP?

DDD
DDDasal
2024-11-02 16:20:29865semak imbas

How to Attach Multiple Files to an Email Using PHP?

Melampirkan Berbilang Fail dalam E-mel melalui PHP

Masalah:

Kod PHP yang disediakan pada mulanya membenarkan lampiran dan penghantaran hanya satu fail. Walau bagaimanapun, timbul keperluan untuk melampirkan dan menghantar dua fail secara serentak, biasanya dalam format yang berbeza (cth., RAR dan PDF).

Penyelesaian:

Untuk menghantar berbilang lampiran dalam e-mel menggunakan PHP, ubah suai kod seperti berikut:

<br>$files = ['path/to/example.rar', 'path/to/example.pdf']; // Tatasusunan laluan fail</p>
<p>// ...</p>
<p>untuk($x=0;$x<count($files);$x ){</p><pre class="brush:php;toolbar:false">$file = fopen($files[$x],"rb");
$data = fread($file,filesize($files[$x]));
fclose($file);
$data = chunk_split(base64_encode($data));
$message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" . 
"Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" . 
"Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";
$message .= "--{$mime_boundary}\n";

}

Penjelasan:

  • Susun atur $files mengandungi laluan ke fail yang perlu dilampirkan.
  • Gelung for berulang melalui tatasusunan, membaca kandungan fail ke dalam pembolehubah $data dan mengekodkannya menggunakan base64.
  • Pembolehubah $message dilampirkan dengan pengepala yang sesuai untuk setiap lampiran fail , termasuk nama fail, jenis kandungan dan data berkod base64.
  • Selepas semua fail diproses, pembolehubah $message sedia untuk dihantar sebagai kandungan e-mel.

Atas ialah kandungan terperinci Bagaimana untuk Melampirkan Berbilang Fail ke E-mel Menggunakan PHP?. 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