J'ai essayé ce code pour attacher un fichier dans CI. Cela fonctionne:
$this->load->library('email');
$this->email->from('[email protected]', 'vignesh');
$this->email->subject('Email Test with attachment');
$this->email->message('Testing the email class IN CODEIGNITER');
$this->email->attach('/path/to/attachment1.jpg');
$this->email->send();
Mais je veux joindre un fichier à partir d'une URL externe:
$this->email->attach('http://mydomain.in/path/to/attachment1.jpg');
Non, ce n'est pas possible, vous devez d'abord télécharger le fichier. En utilisant bibliothèque cURL de Phil Sturgeon pour CodeIgniter, vous devriez pouvoir obtenir le fichier.
$this->load->library('curl');
$img = $this->curl->simple_get('http://mydomain.in/path/to/attachment1.jpg');
$filename = basename($img);
write_file("./upload/path/" . $filename, $img);
et ensuite l'inclure
$this->email->attach('/path/to/attachment1.jpg');
Vous pourrez ultérieurement intégrer la mise en cache pour vérifier si le fichier a déjà été téléchargé/existe, de sorte qu'il n'a pas besoin de le récupérer à nouveau.