Самый простой способ вставить изображение в файл DOCX, используя PHP - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь настроить кнопку экспорта на веб-сайте, который будет экспортировать некоторую информацию из базы данных и поместить ее в файл .doc.В настоящее время я делаю это с:

$filename = "File.doc"; 

header('Content-Type: application/octet-stream');    
header("Content-Disposition: attachment; filename=$filename");

echo "<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows-1252\"><body><img src='the_img.png' width='250px'><br><br><b style='font-size: 40px;'><u><center>Header</center></u></b><br><br><ol>";

$fileData = "SELECT `Songs` FROM `table`;";
$info = $con->query($fileData);
while ($the_row = $info->fetch_assoc()) {
    $content = $the_row["column"];
}

$arr = explode("|", $content);

for($i = 0; $i < count($arr); $i++){
    echo "<li>" . $arr[$i] . "</li>";
}

echo "</ol></body></html>";

mysqli_close($con);

exit;

Когда он экспортирует файл .doc, он успешно открывается в Microsoft Word, однако изображение кажется поврежденным, пока вы не войдете в режим редактирования.Когда вы находитесь в режиме редактирования, изображение не имеет определенного размера.Есть предложения?

1 Ответ

0 голосов
/ 21 ноября 2018

Проблема в этой строке, я думаю

echo "<html><meta http-equiv=\"Content-Type\" content=\"text/html; charset=Windows- 
1252\"><body><img src='the_img.png' width='250px'><br><br><b style='font-size: 40px;'> 
<u><center>Header</center></u></b><br><br><ol>";

Вы должны изменить имя изображения, чтобы оно было без пробелов, и добавить «стиль» перед «шириной», как это

<img src="theimg.png" style="width:250px"/>
...