SharePoint Alfresco PHP MySQL
О сайте Контакты
пятница, 13 января 2012 г.

Вставка фото в vCard средствами PHP

С помощью PHP можно генерировать файлы vcf, которые содержат в себе контактные данные, пригодные для Outlook. В данной статье кратко рассматривается вставка изображения (аватара) в такой файл.

<?php
// Вставка аватара в vcard
// $vCard - переменная, содержащая тело файла vcard
$vCard  = 'BEGIN:VCARD' . "\r\n";
$vCard .= 'VERSION:2.1' . "\r\n";

$image = "path_to_jpeg_image";
if (file_exists($image)) {
  $photo = base64_encode(file_get_contents($image));
  // необходимо разделить строку на меньшие, по 72 символа, чтобы соответствовать стандарту
  $photo = wordwrap($photo, 72, "\r\n ", true);

  $vCard .= 'PHOTO;TYPE=JPEG;ENCODING=BASE64:' . "\r\n " . $photo . "\r\n\r\n"; // здесь нужна двойная «отбивка»
}

$vCard .= 'END:VCARD' . "\r\n";
?>

Сгенерированный таким образом vcf будет содержать встроенное изображение, то есть файл можно переносить с компьютера на компьютер, не боясь, что оно не отобразится. Обратите внимание, в примере используется тип JPEG, однако могут быть использованы прочие типы изображений

Ссылки:

http://www.imc.org/pdi/vcard-21.txt - спецификация vCard

Sergey Lysenko, пятница, 13 января 2012 г.

Комментарии: