Прикрепите изображение в форме php и используйте html2pdf - PullRequest
0 голосов
/ 05 октября 2019

У меня есть форма php и я использую html2pdf (TCPDF). Форма php работает, когда я использую текст и изображения, которые уже включены в форму, но теперь я хочу прикрепить изображение, а также включить его в файл PDF.

Код, который я использую сейчас, я получаю имя файла.

Чтобы прикрепить изображение, которое я использую
$<span><input type="file" name="foto"></span>
И чтобы включить его в pdf-файл, я использую этот код
$foto = $_POST['foto'];
$content .= '<img src='.$foto.'with=200 height=auto>';

Извините за мой плохой английский!
С уважением
Даниэль

1 Ответ

0 голосов
/ 06 октября 2019

Выполните обычную загрузку HTML-файла следующим образом:

<form method="post" enctype="multipart/form-data">
  <label>Deine Datei ;) :
    <input name="fileUpload" type="file" accept="image/*"> 
  </label>  
  <label>Your Name:
    <input name="userName" type="text" accept="image/*"> 
  </label>
  <button type="submite" name="submite">Upload</button>
</form>

И на стороне PHP вы должны переместить ваш файл:

if(isset($_POST["submit"])) {
    $userName = $_POST['userName']; // the normale methode
    $check = getimagesize($_FILES["fileUpload"]["tmp_name"]);
    if($check !== false) {
       $temp_path_to_file = $_FILES['fileUpload']['tmp_name'];
       $file_content = file_get_contents($temp_path_to_file); 
       // and now past your image to your PDF.
       // if you want to save the image on the server you must move it with this (its not necessary if you want only to past it in your PDF)
       if(move_uploaded_file($temp_path_to_file, '/my/image/folder/image_'.uniqid() . '.' . pathinfo($filename, PATHINFO_EXTENSION);
    }
}

РЕДАКТИРОВАТЬ: для вашего примера вы должны преобразовать$file_content в строку base64. Чем вы можете вставить его в свой образ:

$base64 = 'data:image/' . pathinfo($filename, PATHINFO_EXTENSION) . ';base64,' . base64_encode($file_content);
echo '<img src="'. $base64 .'" style="with: 200; height: auto">';
...