ååã¯Webã¢ããªã±ãŒã·ã§ã³åŽãããªããžã§ã¯ããã£ãŒã«ãã衚瀺ããæ¹æ³ã玹ä»ããããªããžã§ã¯ããã£ãŒã«ãã«ã¯ãã€ããªãã¡ã€ã«ãæ ŒçŽããããšãã§ããããWebå ¬éãšã³ãžã³ããã¯äžåã®å€æŽãåé€ãã§ããªããšãã£ããã¡ãªããããããä»åã¯ããªããžã§ã¯ããã£ãŒã«ãã䜿çšããªããåæã§ç»åãšãã£ããã€ããªãã¡ã€ã«ã管çã»æäœããæ¹æ³ã玹ä»ãããã
ãªããžã§ã¯ããã£ãŒã«ãããè±åŽããããšã§ã®ã¡ãªãããšã¯
ãªããžã§ã¯ããã£ãŒã«ãã¯FileMaker Proäžã§ã¯åããã€ããããã圢åŒã ããããWebã¢ããªã±ãŒã·ã§ã³ããå©çšããåæã ãšååã§ããããè§Šãããšãããããã€ãæ±ãã«ããç¹ãããããªããžã§ã¯ããã£ãŒã«ãã䜿çšããã«ãããŠã泚æããã¹ãç¹ããŸãšããŠã¿ããã
- Webå ¬éããã¯åç §ã®ã¿ã§ãããªãããŒãªæ¹æ³ã䜿ããªãããããã£ãŒã«ãå 容ã®å€æŽãåé€ã¯äžåã§ããªã
- ãµã€ãºã®å€§ããªãã¡ã€ã«ããªããžã§ã¯ããã£ãŒã«ãã«æ ŒçŽãããšããªã¯ãšã¹ãïœåŠçå®äºãŸã§ã«æéããããããµãŒãã«ãããè² è·ã倧ãã
- FileMakerãã¡ã€ã«ã®ãµã€ãºãè¥å€§ãããããªããã¬ã³ãŒããæ°äžããã¡ã€ã«ãµã€ãºãæ°100Mïœ1G以äžã®ããŒã¿ããŒã¹ã«ãªã£ãŠãããšãæäºã®éã®ä¿®åŸ©ãšãã£ãã¡ã³ããã³ã¹äœæ¥ã«æéããããããã«ãªã£ãŠããŸã
ãšãã«æåŸã®ããã¡ã€ã«ãµã€ãºãè¥å€§ãããããªããã¯éçšé¢ã§ãã©ãã«ã«ãªããã¡ã ãéçºäžã¯ãšãã«æ°ã«ãªããªãããå®éã«éçšãã¯ããããšæãã¬ãµã€ãºã«ãªã£ãŠããããšããã®ã¯ãããã話ãFileMakerãã¡ã€ã«ãç ŽæããŠããŸã£ãå Žåããã¡ã€ã«ã®ä¿®åŸ©ã«ãããæéã¯ãã¡ã€ã«ãµã€ãºã倧ãããã°å€§ããã»ã©é·ããªããéçšäžã®ã·ã¹ãã ã«ãããŠãã¡ã€ã«ã®ä¿®åŸ©ã»åŸ©åž°ã«æ°æé以äžãããã®ã¯èŽåœçã ã
çè ã¯ãšãã«ç®ç«ã£ãçç±ããªããã°ããªããžã§ã¯ããã£ãŒã«ãã¯äœ¿ããªãã»ããè¯ããšçµè«ã¥ããŠããããªããžã§ã¯ããã£ãŒã«ãã䜿ããã«ãFileMakerã«ã¯æ ŒçŽããããã€ããªãžã®ãã¹ã ããä¿åããŠããããã«ããŠãããããããããšã§ãã€ããªãçŽæ¥FileMakerãã¡ã€ã«ã«æ ŒçŽããªããªãã®ã§ãFileMakerãã¡ã€ã«ã®ãµã€ãºãæããããšãã§ãããWebã¢ããªã±ãŒã·ã§ã³åŽãããã€ããªãåç §ãããšããããã¹æ å ±ãããšã«PHPåŽã§ååŸããã°ããã ããFileMakerã«ã¯ãã¹æ å ±ããæãããŠããªãã®ã§ããã¡ã€ã«ã¢ããããŒãã®ããžãã¯ããçµãã§ããŸãã°æ¬äŒŒçã«FileMakerã«ãã€ããªãæãããããšãå¯èœã«ãªãã®ã ã
å眮ããé·ããªã£ãŠããŸã£ãããããããæèããŠå®è£ ãããŠã¿ããã
1ã€ã®ãªããžã§ã¯ããã£ãŒã«ãããããã¹ããã£ãŒã«ããšèšç®ãã£ãŒã«ãã«
ãããŸãã«ã¯ã1ã€ã®ãªããžã§ã¯ããã£ãŒã«ããããã¹ããã£ãŒã«ããšèšç®ãã£ãŒã«ãã®2ã€ã«åå²ããããã«èšèšããã
- ããã¹ããã£ãŒã«ã: ãã¡ã€ã«ãžã®ãã¹ããŸãã¯ãã¡ã€ã«åãæ ŒçŽãã
- èšç®ãã£ãŒã«ã: ãã£ãŒã«ãã¿ã€ãã¯ããªããžã§ã¯ããã«èšå®ãããã¹ããã£ãŒã«ãã䜿çšãããã¡ã€ã«ã®äžèº«ã衚瀺ããã
ãã®ã»ãã«ãããã¡ã€ã«ã®ä¿åå ãã¹æ å ±ããæ ŒçŽããã°ããŒãã«ãã£ãŒã«ãããã£ãŠããã ããããªããèšç®ãã£ãŒã«ãã¯FileMaker Proã§æ§ç¯ããUIçšã«çšæãããã®ã ãWebã¢ããªã±ãŒã·ã§ã³ããããå©çšããªãå Žåã¯å¿ èŠãªãã
ããã§ã¯åå䜿çšãããã¡ã€ã«ãæèããŠå®è£ ããŠã¿ãããçšæãããã£ãŒã«ãã¯æ¬¡ã®ãšããããªãããµã³ãã«ãããããããããããã«æ ŒçŽãããã¡ã€ã«ã¯ç»åã ãã«éå®ããŠããã
|
FileMaker Proäžã§ã®èšç®ãã£ãŒã«ãã®èŠãæ¹ããªããžã§ã¯ããã£ãŒã«ãã䜿çšããå Žåãšæ¯èŒããŠããèŠãç®ã®å·®ã¯çç¡ã |
FileMaker Proäžã§ã®ç»åã®è¡šç€ºã¯èšç®ãã£ãŒã«ãã䜿çšãããWebã¢ããªã±ãŒã·ã§ã³ãããã¡ã€ã«ã®å 容ã衚瀺ãããå Žåã¯ãããã¹ããã£ãŒã«ãã䜿çšããã
fm_view_obj.php
<?php
// å€éšãã¡ã€ã«ã«ãŠ SYSTEM_ATTACH_PATH ãå®çŸ©ããŠããŸã
// define('SYSTEM_ATTACH_PATH', './attached/'); // ç»åã®ä¿åå
include_once('./fx/FX.php');
include_once('./fx/server_data.php');
// æååãšã¹ã±ãŒãçšé¢æ°
function h($string)
{
return htmlspecialchars(trim($string), ENT_QUOTES, 'UTF-8');
}
$data = new FX($serverIP, $webCompanionPort, $dataSourceType, $scheme);
$data->SetDBData($databaseFileName,'fxphp_obj', 1);
$data->SetDBUserPass($webUN,$webPW);
$data->SetCharacterEncoding('utf8');
$data->SetDataParamsEncoding('utf8');
$data->SetRecordID(1);
$dataSet = $data->FMFind();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FX.php ãã¡ã€ã«åç
§</title>
</head>
<body>
<table>
<?php
for ( $n = 1 ; $n < 4; $n++ )
{
?>
<tr>
<th>
ç»å(<?php echo $n; ?>)
</th>
<td align="left">
<img src="<?php echo SYSTEM_ATTACH_PATH . h($dataSet['data'][key($dataSet['data'])]['fo_objPath_'.$n][0]); ?>"
alt="ç»å(<?php echo $n; ?>)ã®ãµã ãã€ã«" border="1">
</td>
</tr>
<?php
}
?>
</table>
</body>
</html>
ããã¹ããã£ãŒã«ãå ã®ãã¡ã€ã«åã<img>ã¿ã°ã®srcã«äœ¿çšããŠãããå®éã«Webãã©ãŠã¶ã§ã¢ã¯ã»ã¹ããŠã¿ããã
FileMakerãã¡ã€ã«ãããã€ããªãã¡ã€ã«ãã®ãã®ãåãåºããŠã¯ããªãã®ã§ã/fmi/xml/cnt/data.jpgãžã®ãªã¯ãšã¹ãåæ°ãæããããšãå¯èœã ããµãŒãã«ãããè² è·ã®ããšãèãããšããªããžã§ã¯ããã£ãŒã«ãã䜿çšããªãå®è£ ã®ã»ããã¡ãªããã倧ããã ãããç¶ããŠãã¡ã€ã«ã¢ããããŒãã®å®è£ äŸã玹ä»ãããã
fm_edit - ç·šéç»é¢
<?php
// å€éšãã¡ã€ã«ã«ãŠ SYSTEM_ATTACH_PATH ãå®çŸ©ããŠããŸã
// define('SYSTEM_ATTACH_PATH', './attached/'); // ç»åã®ä¿åå
include_once('./fx/FX.php');
include_once('./fx/server_data.php');
// æååãšã¹ã±ãŒãçšé¢æ°
function h($string)
{
return htmlspecialchars(trim($string), ENT_QUOTES, 'UTF-8');
}
$data = new FX($serverIP, $webCompanionPort, $dataSourceType, $scheme);
$data->SetDBData($databaseFileName,'fxphp_obj', 1);
$data->SetDBUserPass($webUN,$webPW);
$data->SetCharacterEncoding('utf8');
$data->SetDataParamsEncoding('utf8');
$data->SetRecordID(1);
$dataSet = $data->FMFind();
// URIæååãæ ŒçŽ
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>FX.php ãã¡ã€ã«ã®æ ŒçŽ</title>
</head>
<body>
<form action="./fm_file_upload.php" accept-charset="utf-8" enctype="multipart/form-data" method="post">
<table>
<?php
for ( $n = 1 ; $n < 4; $n++ )
{
?>
<tr>
<th>
ç»å(<?php echo $n; ?>)
</th>
<td align="left">
<img src="<?php echo SYSTEM_ATTACH_PATH . h($dataSet['data'][key($dataSet['data'])]['fo_objPath_'.$n][0]); ?>"
alt="ç»å(<?php echo $n; ?>)ã®ãµã ãã€ã«" width="200" height="150" border="1">
<br>
<input name="photo<?php echo $n; ?>_file" type="file">
</td>
</tr>
<?php
}
?>
</table>
<p>
<input type="submit" value="ä¿å">
</p>
</form>
</body>
</html>
fm_file_upload - ãã¡ã€ã«ã¢ããããŒãåŠç
<?php
// å€éšãã¡ã€ã«ã«ãŠ SYSTEM_ATTACH_PATH ãå®çŸ©ããŠããŸã
// define('SYSTEM_ATTACH_PATH', './attached/'); // ç»åã®ä¿åå
include_once('./fx/FX.php');
include_once('./fx/server_data.php');
// æ¢åã®ã¬ã³ãŒãæ
å ±ãååŸ
$data = new FX($serverIP, $webCompanionPort, $dataSourceType, $scheme);
$data->SetDBData($databaseFileName,'fxphp_obj', 1);
$data->SetDBUserPass($webUN,$webPW);
$data->SetCharacterEncoding('utf8');
$data->SetDataParamsEncoding('utf8');
$data->SetRecordID(1);
$dataSet = $data->FMFind();
for ($n = 1 ; $n < 4; $n++)
{
if (UPLOAD_ERR_OK === $_FILES['photo' . $n . '_file']['error'])
{
// (1) ã¢ããããŒãããããã¡ã€ã«ããªããŒã ããSYSTEM_ATTACH_PATH 以äžã«ä¿å
$tmp['photo'][$n]['filename'] =
date('YmdHis') .'_' . $n . '_'.
$_FILES['photo' . $n . '_file']['name'];
move_uploaded_file
(
$_FILES['photo' . $n . '_file']['tmp_name'],
SYSTEM_ATTACH_PATH.
$tmp['photo'][$n]['filename']
);
// (2) æ¢åã®ãã¡ã€ã«ãåé€
if (file_exists(SYSTEM_ATTACH_PATH.$dataSet['data'][key($dataSet['data'])]['fo_objPath_'.$n][0]))
{
unlink(SYSTEM_ATTACH_PATH.$dataSet['data'][key($dataSet['data'])]['fo_objPath_'.$n][0]);
}
}
}
// (3) FileMakerã«ãã¹æ
å ±ãä¿å
$data = new FX($serverIP, $webCompanionPort, $dataSourceType, $scheme);
$data->SetDBData($databaseFileName,'fxphp_obj', 1);
$data->SetDBUserPass($webUN,$webPW);
$data->SetCharacterEncoding('utf8');
$data->SetDataParamsEncoding('utf8');
for ( $n = 1 ; $n < 4; $n++ )
{
if (!empty($tmp['photo'][$n]['filename']))
{
$data->AddDBParam('fo_objPath_'.$n , $tmp['photo'][$n]['filename']);
}
}
$data->SetRecordID(2);
$dataSet = $data->FMEdit();
if ( 0 === (int)$dataSet['errorCode'] )
{
include_once('./fm_view_obj.php');
}
else
{
// ãšã©ãŒåŠç..
}
ãã¡ã€ã«ã®ã¢ããããŒãã«æåããå Žåã«ã®ã¿ããã¢ããããŒãããããã¡ã€ã«ããªããŒã ããç¹å®ã®ãã£ã¬ã¯ããªä»¥äžã«ä¿åããæ¢åã®ãã¡ã€ã«ãåé€ããFileMakerã«ãã¹æ å ±ãä¿åãããããªãã
Webã¢ããªã±ãŒã·ã§ã³åŽããããFileMakerå ã§ç®¡çãããã¡ã€ã«ã®æäœãå¯èœãšãªã£ããFileMaker ProããçŽæçã«æäœãã§ãããªããžã§ã¯ããã£ãŒã«ãã®ã¡ãªããã¯ãªããªã£ãŠããŸããã玹ä»ãããšãããã以äžã®ã¡ãªãããåŸããããšæããŠããããããšæãããªããžã§ã¯ããã£ãŒã«ãã䜿ã/䜿ããªãã¯äžæŠã«ã¯ã©ã¡ããç§ã§ãŠããšã¯èšããªããããããªããšãWebã¢ããªã±ãŒã·ã§ã³åŽãããã¡ã€ã«ãåç §ã»æäœããå Žåã¯ãã®å®è£ æ¹æ³ãæšå¥šãããã