@s257

Загружаю разные файлы на выходе один?

Делаю форму есть две кнопки Загрузите подпись, и Загрузите печать. когда скачиваю в месте подписи и печати. выводит только печати где ошибка. И можно ли сделать чтоб файл в пдф скачивался желательно с предварительным просмотром.
сам сайт Готовая форма

review.docx

<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Счет</title>
</head>
<body>
    <center>
    
                <table class="table_center_by_css"></table>   
          <form action="word.php" method="POST" enctype="multipart/form-data">
        
            <table border="1" bgcolor= "#00FA9A">
                <tr>
                    <td><input type="date" name="date" style="width:200px">
                     <input type="number" name="nomer" style="width: 200px" placeholder="Номер счёта"></td>
                </tr>
                <tr>
                    <td colspan="5"><input type="text" name="fioip" style="width: 700px" placeholder="Ваше ИП или ООО "></td>
                </tr>
                <tr>
                    <td colspan="5"><input type="text" name="adres" style="width: 700px" placeholder="Введите ваш адрес"></td>
                </tr>
                </table>
            <p>Загрузите подпись <input type="file" name="file"></p>
            <p>Загрузите печать <input type="file" name="file1"></p>
        <button type="submit">Скачать</button>
          </form>
        </center>
        </div>
    </body>
    </html>


<?php
require_once 'vendor/autoload.php';

$document = new \PhpOffice\PhpWord\TemplateProcessor('./review.docx');

$uploadDir =  __DIR__;
$outputFile = 'schet.docx';



$uploadFile = $uploadDir . '\\' . basename($_FILES['file']['name']);
move_uploaded_file($_FILES['file']['tmp_name'], $uploadFile);
$uploadFile1 = $uploadDir . '\\' . basename($_FILES['file1']['name']);
move_uploaded_file($_FILES['file1']['tmp_name'], $uploadFile1);



$date = $_POST['date'];
$nomer = $_POST['nomer'];
$fioip = $_POST['fioip'];
$adres = $_POST['adres'];



$document->setValue('date', $date);
$document->setValue('nomer', $nomer);
$document->setValue('fioip', $fioip);
$document->setValue('adres', $adres);




$document->setImageValue('image', array('path' => $uploadFile, 'width' => 120, 'height' => 60, 'ratio' => false));
$document->setImageValue('imagep', array('path' => $uploadFile1, 'width' => 140, 'height' => 140, 'ratio' => false));

$document->saveAs($outputFile);


// Имя скачиваемого файла
$downloadFile = $outputFile;

// Контент-тип означающий скачивание
header("Content-Type: application/octet-stream");

// Размер в байтах
header("Accept-Ranges: bytes");

// Размер файла
header("Content-Length: ".filesize($downloadFile));

// Расположение скачиваемого файла
header("Content-Disposition: attachment; filename=".$downloadFile);

// Прочитать файл
readfile($downloadFile);


unlink($uploadFile);
unlink($outputFile);
?>
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
@s257 Автор вопроса
Ошибка найдена, файлы которые необходимо загружать должны быть на только латинице!
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
В файле 'review.docx' есть 'imagep', но нет 'image' ? Или лучше поменять на более уникальное 'podpis', что бы не было двух очень похожих 'image'.

И забыли в конце unlink($uploadFile1);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы