Filemaker PHP getContainerURL

Я пытаюсь получить файл project-detail.php для отображения содержимого поля контейнера в Filemaker. Содержание всегда в формате PDF. Вот что у меня есть, все работает, кроме поля контейнера (MasterReport): я ничего не получаю в основном, только пустое пространство после echo '<b>Verifier:</b> &nbsp;' . $projectStaff . '<br>';

ПРИМЕЧАНИЕ. Я знаю, что мне следует обновить $ r до $ result и изменить команду запроса вместо $ q, это на ранней стадии разработки, и я внесу эти изменения после того, как у меня будут ноги.

<?php

session_start();

require_once('./includes/php/include_master.php');

if ($_SESSION['authenticated'] == "true") {

$id_account = $_SESSION['ID_Account'];
$projectId = $_GET['id'];

$q = $protoFM['EMGSV'] -> newFindCommand('web_projects');
$q -> addFindCriterion('id_account', '=='.$id_account);
$q -> addFindCriterion('ID_Project', $projectId);
$r = $q->execute();

if(FileMaker::isError($r)){

if($r->code == 401){
echo "No projects found.";
}else{
echo "Unknown Error:".$r->code;
}

}else{
foreach ($r->getRecords() as $project){
$projectName = $project->getField('Project_Name');
$projectDate = $project->getField('Date_Start');
$projectStaff = $project->getField('Staff');
$projectReport = $project->getField('MasterReport');
echo '<b>Affidavit:</b> &nbsp;' . $projectId . '<br>';
echo '<b>Project Name:</b> &nbsp;' . $projectName . '<br>';
echo '<b>Project Date:</b> &nbsp;' . $projectDate . '<br>';
echo '<b>Verifier:</b> &nbsp;' . $projectStaff . '<br>';
echo $projectReport->getField('MasterReport').'<br>';
echo '<embed src="' . $fm->getContainerDataURL($projectReport->getField('MasterReport')) .'">';
}

}

} else {
echo "You are not logged in.";
}

?>

0

Решение

Контейнерные поля Filemaker немного отличаются … возможно, если вы думаете нестандартно, пробовали ли вы наоборот, позволяя filemaker делать php? Это можно сделать с помощью filemaker ‘[SmartPill PHP][1]‘плагин, позволяющий вам создавать контроль php и выводить из filemaker. Я знаю, что у них есть набор команд для обработки полей контейнера.

0

Другие решения

В конце концов я получил это на работу через следующее:

foreach ($r->getRecords() as $project){
$projectName = $project->getField('Project_Name');
$projectDate = $project->getField('Date_Start');
$projectStaff = $project->getField('Staff');
$projectReport = $project->getField('MasterReport');
echo '<b>Affidavit:</b> &nbsp;' . $projectId . '<br>';
echo '<b>Project Name:</b> &nbsp;' . $projectName . '<br>';
echo '<b>Project Date:</b> &nbsp;' . $projectDate . '<br>';
echo '<b>Verifier:</b> &nbsp;' . $projectStaff . '<br>';
echo '<b>Report Link:</b> &nbsp;' . "<a href='includes/php/containerBridge.php?path=".urlencode($projectReport)."'>Click here to download PDF Report</a><br>";
}

Файл containerBridge.php:

<?php
//require_once("FileMaker.php");
include 'include_master.php';
header('Content-Type: application/x-gzip');
header('Content-disposition: filename="DownloadedReport.pdf.gz"');
echo $protoFM['EMGSV']->getContainerData($_GET['path']);
?>
0

По вопросам рекламы [email protected]