File: C:/xampp/htdocs/FograPC4/6pmmTVI-parsingCTOKX.php
<?php
$company= 'ecolor';
if ($company<>'') {
$company= $_GET['company'];
}
else {
$company=$_SESSION["company"];
}
echo "Welcome! ".$company;
error_reporting(0);
if ($userid=='' and $company=='') {
exit("No user id");
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Spot Color Check</title>
<style type="text/css">
<!--
body {
font: 100% Verdana, Arial, Helvetica, sans-serif;
background: #ffffff;
margin: 0; /* 比較好的做法是將 Body 元素的邊界與欄位間隔調整為零,以處理不同的瀏覽器預設值 */
padding: 0;
text-align: center; /* 這樣會讓容器在 IE 5* 瀏覽器內置中對齊。然後,文字會在 #container 選取器中設定為靠左對齊預設值 */
color: #000000;
}
.oneColElsCtr #container {
width: 46em;
background: #FFFFFF;
margin: 0 auto; /* 自動邊界 (搭配寬度) 會讓頁面置中對齊 */
border: 0px solid #000000;
text-align: left; /* 這樣做會覆寫 Body 元素上的 text-align: center。 */
}
.oneColElsCtr #mainContent {
padding: 0 20px; /* 請記住,欄位間隔就是 Div 方塊內部的空間,而邊界就是 Div 方塊外部的空間 */
}
-->
</style></head>
<body class="oneColElsCtr">
<?php
error_reporting(0);
$f123= $_GET['f123'];
$f321= $_GET['f321'];
$color=$_GET['color'];
$f0=0;
$f1=0;
$f2=0;
$f3=0;
$f4=0;
$f5=0;
$f6=0;
$f7=0;
$f8=0;
$f9=0;
$f10=0;
$f11=0;
$f12=0;
$f13=0;
$f14=0;
$f15=0;
$f16=0;
$f17=0;
$f18=0;
$f19=0;
$f20=0;
$f21=0;
$f22=0;
$f23=0;
$f24=0;
$f25=0;
$f26=0;
$f27=0;
$f28=0;
$f29=0;
$f30=0;
$f31=0;
$f32=0;
$f33=0;
$f34=0;
$f35=0;
$f36=0;
$sum=260;
$check=1;
$dtime=time();
$dStr=substr($dtime,7,9)."-";
echo "Plate Checking form! " . "<br />";
echo "upload sucess! " . "<br />";
echo "Report start: " . "<br />";
// echo "Stored in: " . "upload/" . $_FILES["file"]["name"]. "<br />";
///parsing start
$contents = file($f321);
$string = implode($contents);
//echo $contents[20];
//echo $string;
//$p = ereg_replace("\r\n?", " ", $string);
$p = preg_replace("/\r\n|\r|\n/", " ", $string);
//$p = str_replace("\t", ' ', $p);
//echo $p;
$dot = explode(" ", $p);
//print_r ($dot);
//echo "dot 124:".$dot[124];echo "dot 85:".$dot[159];
include 'Density395.php';
include 'sp38XYZ.php';
include 'vXYZ.php';
include 'xyz2lab01.php';
function DensitySp38S($V,$s1,$s2,$s3,$s4,$s5,$s6,$s7,$s8,$s9,$s10,$s11,$s12,$s13,$s14,$s15,$s16,$s17,$s18,$s19,$s20,$s21,$s22,$s23,$s24,$s25,$s26,$s27,$s28,$s29,$s30,$s31,$s32,$s33,$s34,$s35,$s36,$ft0,$ft1, $ft2, $ft3, $ft4, $ft5, $ft6, $ft7, $ft8, $ft9, $ft10, $ft11, $ft12, $ft13, $ft14, $ft15, $ft16, $ft17, $ft18, $ft19, $ft20, $ft21, $ft22, $ft23, $ft24, $ft25, $ft26, $ft27, $ft28, $ft29, $ft30, $ft31, $ft32, $ft33, $ft34, $ft35) {
$values=array("34" => 0.0,"35" => 0.0,"36" => 0.0,"37" => 0.0,"38" => $s1,"39" =>$s2,"40" => $s3,"41" => $s4,"42" => $s5,"43" => $s6,"44" => $s7,"45" => $s8,"46" => $s9,"47" => $s10,"48" => $s11,"49" => $s12,"50" => $s13,"51" => $s14,"52" => $s15,"53" => $s16,"54" => $s17,"55" => $s18,"56" => $s19,"57" => $s20,"58" => $s21,"59" => $s22,"60" => $s23,"61" => $s24,"62" => $s25,"63" => $s26,"64" => $s27,"65" => $s28,"66" => $s29,"67" => $s30,"68" => $s31,"69" => $s32,"70" => $s33, "71" => $s34,"72" => $s35,"73" => $s36,"74" => 0.0,"75" => 0.0,"76" => 0.0,"77" => 0.0,"78" => 0.0,"79" => 0.0,"80" => 0.0,"81" => 0.0,"82" => 0.0,"83" => 0.0);
$SpectraU=array(0,0,0,0,$ft0,$ft1, $ft2, $ft3, $ft4, $ft5, $ft6, $ft7, $ft8, $ft9, $ft10, $ft11, $ft12, $ft13, $ft14, $ft15, $ft16, $ft17, $ft18, $ft19, $ft20, $ft21, $ft22, $ft23, $ft24, $ft25, $ft26, $ft27, $ft28, $ft29, $ft30, $ft31, $ft32, $ft33, $ft34, $ft35);
//-LOG10(SUMPRODUCT(AZ2:AZ51,AV2:AV51)/SUM(AV2:AV51)) =-LOG10(SUMPRODUCT(Sample,TT)/SUM(Den_StatusT_R))
$sPSum=0;
$sProduct=0;
if ($V=="U") {
for ( $i = 34; $i <= 83; $i += 1) {
$sProduct=$values[$i]*$SpectraU[$i-34];
$sPSum=$sProduct+$sPSum;}
$sumV=array_sum($SpectraU);}
//$sumduct=$values[40];
$den=-log10($sPSum/($sumV));
return round($den,4);
}
$avalues=array($dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159]);
//$min_value_key=array_keys($avalues, max($avalues));
//echo "<br>Check:".$min_value_key;
$min = min($avalues);
$index = array_search($min, $avalues);
//echo "<br>min Check:".$index;
$max = max($avalues);
$mindex = array_search($max, $avalues);
//echo "<br>max Check:".$mindex;
$nm=380+$mindex*10;
if ($index>17) {
$fn=$index;}
else {
$fn=$index;}
${'f'.$fn}=14.0388;
//echo "<br>Check:".${'f'.$fn};
$uvD=DensitySp38S("U",$dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159],$f0,$f1, $f2, $f3, $f4, $f5, $f6, $f7, $f8, $f9, $f10, $f11, $f12, $f13, $f14, $f15, $f16, $f17, $f18, $f19, $f20, $f21, $f22, $f23, $f24, $f25, $f26, $f27, $f28, $f29, $f30, $f31, $f32, $f33, $f34, $f35);
//echo "<br>".min($dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159]); // 2
$uvD50=DensitySp38S("U",$dot[169],$dot[170],$dot[171],$dot[172],$dot[173],$dot[174],$dot[175],$dot[176],$dot[177],$dot[178],$dot[179],$dot[180],$dot[181],$dot[182],$dot[183],$dot[184],$dot[185],$dot[186],$dot[187],$dot[188],$dot[189],$dot[190],$dot[191],$dot[192],$dot[193],$dot[194],$dot[195],$dot[196],$dot[197],$dot[198],$dot[199],$dot[200],$dot[201],$dot[202],$dot[203],$dot[204],$f0,$f1, $f2, $f3, $f4, $f5, $f6, $f7, $f8, $f9, $f10, $f11, $f12, $f13, $f14, $f15, $f16, $f17, $f18, $f19, $f20, $f21, $f22, $f23, $f24, $f25, $f26, $f27, $f28, $f29, $f30, $f31, $f32, $f33, $f34, $f35);
$PXm=sp38XYZ("X",$dot[79],$dot[80],$dot[81],$dot[82],$dot[83],$dot[84],$dot[85],$dot[86],$dot[87],$dot[88],$dot[89],$dot[90],$dot[91],$dot[92],$dot[93],$dot[94],$dot[95],$dot[96],$dot[97],$dot[98],$dot[99],$dot[100],$dot[101],$dot[102],$dot[103],$dot[104],$dot[105],$dot[106],$dot[107],$dot[108],$dot[109],$dot[110],$dot[111],$dot[112],$dot[113],$dot[114]);
$PYm=sp38XYZ("Y",$dot[79],$dot[80],$dot[81],$dot[82],$dot[83],$dot[84],$dot[85],$dot[86],$dot[87],$dot[88],$dot[89],$dot[90],$dot[91],$dot[92],$dot[93],$dot[94],$dot[95],$dot[96],$dot[97],$dot[98],$dot[99],$dot[100],$dot[101],$dot[102],$dot[103],$dot[104],$dot[105],$dot[106],$dot[107],$dot[108],$dot[109],$dot[110],$dot[111],$dot[112],$dot[113],$dot[114]);
$PZm=sp38XYZ("Z",$dot[79],$dot[80],$dot[81],$dot[82],$dot[83],$dot[84],$dot[85],$dot[86],$dot[87],$dot[88],$dot[89],$dot[90],$dot[91],$dot[92],$dot[93],$dot[94],$dot[95],$dot[96],$dot[97],$dot[98],$dot[99],$dot[100],$dot[101],$dot[102],$dot[103],$dot[104],$dot[105],$dot[106],$dot[107],$dot[108],$dot[109],$dot[110],$dot[111],$dot[112],$dot[113],$dot[114]);
$Pdm=DensitySp38("K",$dot[79],$dot[80],$dot[81],$dot[82],$dot[83],$dot[84],$dot[85],$dot[86],$dot[87],$dot[88],$dot[89],$dot[90],$dot[91],$dot[92],$dot[93],$dot[94],$dot[95],$dot[96],$dot[97],$dot[98],$dot[99],$dot[100],$dot[101],$dot[102],$dot[103],$dot[104],$dot[105],$dot[106],$dot[107],$dot[108],$dot[109],$dot[110],$dot[111],$dot[112],$dot[113],$dot[114]);
$SXm=sp38XYZ("X",$dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159]);
$SYm=sp38XYZ("Y",$dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159]);
$SZm=sp38XYZ("Z",$dot[124],$dot[125],$dot[126],$dot[127],$dot[128],$dot[129],$dot[130],$dot[131],$dot[132],$dot[133],$dot[134],$dot[135],$dot[136],$dot[137],$dot[138],$dot[139],$dot[140],$dot[141],$dot[142],$dot[143],$dot[144],$dot[145],$dot[146],$dot[147],$dot[148],$dot[149],$dot[150],$dot[151],$dot[152],$dot[153],$dot[154],$dot[155],$dot[156],$dot[157],$dot[158],$dot[159]);
$Sl=xyz2lab01("l",$SXm,$SYm,$SZm);
$Sa=xyz2lab01("a",$SXm,$SYm,$SZm);
$Sb=xyz2lab01("b",$SXm,$SYm,$SZm);
$StXm=sp38XYZ("X",$dot[169],$dot[170],$dot[171],$dot[172],$dot[173],$dot[174],$dot[175],$dot[176],$dot[177],$dot[178],$dot[179],$dot[180],$dot[181],$dot[182],$dot[183],$dot[184],$dot[185],$dot[186],$dot[187],$dot[188],$dot[189],$dot[190],$dot[191],$dot[192],$dot[193],$dot[194],$dot[195],$dot[196],$dot[197],$dot[198],$dot[199],$dot[200],$dot[201],$dot[202],$dot[203],$dot[204]);
$StYm=sp38XYZ("Y",$dot[169],$dot[170],$dot[171],$dot[172],$dot[173],$dot[174],$dot[175],$dot[176],$dot[177],$dot[178],$dot[179],$dot[180],$dot[181],$dot[182],$dot[183],$dot[184],$dot[185],$dot[186],$dot[187],$dot[188],$dot[189],$dot[190],$dot[191],$dot[192],$dot[193],$dot[194],$dot[195],$dot[196],$dot[197],$dot[198],$dot[199],$dot[200],$dot[201],$dot[202],$dot[203],$dot[204]);
$StZm=sp38XYZ("Z",$dot[169],$dot[170],$dot[171],$dot[172],$dot[173],$dot[174],$dot[175],$dot[176],$dot[177],$dot[178],$dot[179],$dot[180],$dot[181],$dot[182],$dot[183],$dot[184],$dot[185],$dot[186],$dot[187],$dot[188],$dot[189],$dot[190],$dot[191],$dot[192],$dot[193],$dot[194],$dot[195],$dot[196],$dot[197],$dot[198],$dot[199],$dot[200],$dot[201],$dot[202],$dot[203],$dot[204]);
//echo "<br> VX:".$SXm;
$sctv=100*pow(((pow(($StXm-$PXm),2)+pow(($StYm-$PYm),2)+pow(($StZm-$PZm),2))/(pow(($SXm-$PXm),2)+pow(($SYm-$PYm),2)+pow(($SZm-$PZm),2))),0.5);
$s50TV=(((1-(pow(10,(-($uvD50-$Pdm)))))/(1-(pow(10,(-($uvD-$Pdm)))))))*100;
$vxs=xyz2V('x',$SXm,$SYm,$SZm);
$vys=xyz2V('y',$SXm,$SYm,$SZm);
$vzs=xyz2V('z',$SXm,$SYm,$SZm);
$vtxs=xyz2V('x',$StXm,$StYm,$StZm);
$vtys=xyz2V('y',$StXm,$StYm,$StZm);
$vtzs=xyz2V('z',$StXm,$StYm,$StZm);
$vxp=xyz2V('x',$PXm,$PYm,$PZm);
$vyp=xyz2V('y',$PXm,$PYm,$PZm);
$vzp=xyz2V('z',$PXm,$PYm,$PZm);
//echo "<br> VXS:".$vxs,"--".$vys."--".$vzs."==".$vtxs,"--".$vtys."--".$vtzs;
$Vsctv=100*pow(((pow(($vtxs-$vxp),2)+pow(($vtys-$vyp),2)+pow(($vtzs-$vzp),2))/(pow(($vxs-$vxp),2)+pow(($vys-$vyp),2)+pow(($vzs-$vzp),2))),0.5);
//echo "<br> VTTX:".$Vsctv;
///////////////////////////////////////////////////////
/////////////////////////////////////////
$input1 = "input1.txt";
//$icclab="upload/".$filename."T.ti1";
$fh = fopen($input1, 'w') or die("can't open file");
$viHead=$Sl." ".$Sa." ".$Sb;
fwrite($fh, $viHead);
fclose($fh);
//$output =shell_exec("icclu -fb -ip -pl -s 255 sRGB.icm <input1.txt> out1.txt");
//echo "<pre>$output</pre>";
echo shell_exec("/public_html/SpotD/icclu -fb -ip -pl -s 255 sRGB.icm <input1.txt> out1.txt 2>&1");
$frgb1="out1.txt";
$stringr1 = file($frgb1);
$rgb1 = implode($stringr1);
$dotR1 = explode(" ", $rgb1);
//echo "<br>R7:".round($dotR1[7],0);
//echo "<br>R8:".round($dotR1[8],0);
//echo "<br>R9:".round($dotR1[9],0);
$R1=round($dotR1[7],0);
$G1=round($dotR1[8],0);
$B1=round($dotR1[9],0);
function RGBToHex($r, $g, $b) {
//String padding bug found and the solution put forth by Pete Williams (http://snipplr.com/users/PeteW)
$hex = "#";
$hex.= str_pad(dechex($r), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($g), 2, "0", STR_PAD_LEFT);
$hex.= str_pad(dechex($b), 2, "0", STR_PAD_LEFT);
return $hex;
}
$ch1C=RGBToHex($R1,$G1,$B1);
//$color= $_POST['color'];
if ($color=='C') {
$ftcolor="#7effff";}
elseif ($color=='M') {
$ftcolor="#ff88ff";}
elseif ($color=='Y') {
$ftcolor="#ffff66";}
elseif ($color=='K') {
$ftcolor="#cccccc";}
//echo "<br> chic:".$ch1C;
/////////////////////////////////////////////////////////////////
?>
<table width="200" border="1" align="center">
<tr>
<td bgcolor="<?php echo $ftcolor;?>"><div align="center"> density</div></td>
<td><font color="#333333"><?php echo $uvD;?></td>
</tr><tr>
<td bgcolor="<?php echo $ftcolor;?>"><div align="center">50%</div></td>
<td><font color="#333333"><?php echo round($Vsctv-2,2);?></td>
</tr>
</table>
<br><br>
<?php
$Vsctv=round($Vsctv-2,2);
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$myip = $_SERVER['HTTP_CLIENT_IP'];
}else if(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$myip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}else{
$myip= $_SERVER['REMOTE_ADDR'];
}
$connection = mysql_connect("127.0.0.1", "root", "fredsql") or die ("Unable to connect!");
mysql_query("SET NAMES 'utf8'");
$db = "tvicheck-st";
mysql_select_db($db) or die ("Unable to select database!");
// generate and execute query
$query = "INSERT INTO plate(company,dns, a50,plate,a0,a100) VALUES('$company', '$myip','$Vsctv', '$color','$Pdm', '$uvD')";
//echo $query;
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
mysql_close($connection);
?>
<tr>
<td align="center"><font size="-2"> © <a href="mailto:[email protected]">Fred Kuo</a>, 2017. All rights reserved.<br><a href="http://www.fredkuo.idv.tw/wordpress/">Read more.</a><br>
</td>
</tr>
</body>
</html>