Php ile Word Dosyası Oluşturmak

Projelerimizde word, excel, adobe reader gibi farklı formatlarda çıktılar alabiliyoruz. Bu formatları alırken, bu formatlara uygun altyapıyı hazırlamamız gerekmektedir. Günü kurtaracak bir yöntemi sizinle paylaşmak istiyorum. Bu yöntemle biraz hile yaparak, aslında word formatında olmayan bir yapıyı, word dosyası gibi göstereceğiz.

Her dosyasın bir başlık tipi vardır. Hangi dosyanın ne olduğunu aslında bu başlıklardan kolayca anlayabiliyoruz. Word dosyalarının  application/vnd.ms-word olduğunu bildiğimiz için, dosyanın başlığına bu etiketi yazarak birazcık çakma, günü kurtaracak, basit bir hile ile işimizi çözüyoruz. 🙂

$filename="deneme.doc";
$content="Merhaba Pehepe";
$this->output->set_header("Content-Type: application/vnd.ms-word; charset=utf8");
$this->output->set_header("Expires: 0");
$this->output->set_header('Cache-Control:  must-revalidate, post-check=0, pre-check=0');
$this->output->set_header("Content-disposition: attachment; filename=$filename");
$this->output->set_output('<meta http-equiv="Content-Type" content="application/vnd.ms-word; charset=UTF-8" />' . $content);

Linux’da Türkçe karakter problemi yaşamadım. Fakat Windows’da karakterler latine çevrilmiş halde gösteriyordu. Bende bu problemi, içeriğin başına utf8 meta etiketi koyarak hallettim.

This entry was posted in Kısa Kısa Yararlı, Php and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *