HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/xampp/htdocs/CT9/CT9Parsing.php
<!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>Camera Check</title>
</head>

<body class="oneColElsCtr">
<?php
$sum=260;
$check=1;
$dtime=time();
error_reporting(0);

$contact=$_POST["contact"];
$company=$_POST["company"];
$type=$_POST["type"];
$device=$_POST["device"];


$host="127.0.0.1";
$user="root";
$pass="fredsql";
$db="tvicheck-st";

$connection = mysql_connect($host, $user, $pass) or die ("Unable to connect!");
mysql_query("SET NAMES 'utf8'");
//$link = mssql_connect("MACBOOK7", "sa", "fred5697");
mysql_select_db($db) or die ("Unable to select database!");
$query = "select id from CT9 order by id desc  limit 0,1";
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());

	while($row = mysql_fetch_object($result))
	{
$dStr=$row->id+1;
}


//$dStr=substr($dtime,7,9)."-";

  if ($_FILES["file"]["error"] > 0)
    {
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
  else
    {
	echo "Control Target Checking form! " .  "<br />";
    echo "Upload: " . $_FILES["file"]["name"] . "<br />";
	$filename=$_FILES["file"]["name"];
    //echo "Type: " . $_FILES["file"]["type"] . "<br />";
    echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
   // echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";

    if (file_exists("upload/x" .$_FILES["file"]["name"]))
      {
      echo $_FILES["file"]["name"] . " already exists. ". "<br />";
      }
    else
      {
      move_uploaded_file($_FILES["file"]["tmp_name"],
       "upload/" .$dStr."-".$_FILES["file"]["name"]);
	  
	   echo $_FILES["file"]["name"] ."   upload sucess! " .  "<br />";
	    $upcc24o="upload/" .$dStr."-".$_FILES["file"]["name"];
		$upcc24="upload/" .substr($dStr."-".$_FILES["file"]["name"],0,-4);
		
sleep(5);
	   echo "Report start: " .  "<br />";
     // echo "Stored in: " . "upload/" . $_FILES["file"]["name"]. "<br />";
	 $filename=substr($dStr."-".$_FILES["file"]["name"],0,-4);
	$upcc24=$upcc24."b.jpg";
	exec("echo . | convert ". $upcc24o." -blur 0x20 ".$upcc24); 
	sleep(2);
	
	
	
	exec("echo . | convert ". $upcc24." info:".$filename."x.txt"); 
	sleep(2);
	//echo "echo . | convert ". $upcc24." info:".$filename.".txt";
	  	  $contents = file($filename."x.txt");
		 $string = implode($contents);

$dot = explode(" ", $string);
//print_r ($dot);

$pdot = explode("x", $dot[2]);

//print_r ($pdot);

$xpix=$pdot[0];
$ypix=$pdot[1];

$p1x=round(($pdot[0]/20),0)*1;
$p2x=round(($pdot[0]/20),0)*3;
$p3x=round(($pdot[0]/20),0)*5;
$p4x=round(($pdot[0]/20),0)*7;
$p5x=round(($pdot[0]/20),0)*9;
$p6x=round(($pdot[0]/20),0)*11;
$p7x=round(($pdot[0]/20),0)*13;
$p8x=round(($pdot[0]/20),0)*15;
$p9x=round(($pdot[0]/20),0)*17;
$p10x=round(($pdot[0]/20),0)*19;

$p1y=round(($pdot[1]/4),0)*1;
$p2y=round(($pdot[1]/4),0)*3;


//echo "<br>x1y1:".$p1x."x".$p1y."<br>";
//echo "x6y4:".$p6x."x".$p4y."<br>";

//echo "echo . | convert ". $upcc24."[1x1+".$p1x."+".$p1y."]  -format '%[fx:int(255*r)] info:".$filename."p.txt"; 
//exec ("echo . | convert ". $upcc24."[1x1+".$p1x."+".$p1y."]  info:".$filename."p.txt"); 
	//echo "echo . | convert ". $upcc24."[1x1+".$p1x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p.txt";
	
	exec("echo . | convert ". $upcc24."[1x1+".$p1x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p1.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p2x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p2.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p3x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p3.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p4x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p4.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p5x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p5.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p6x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p6.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p7x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p7.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p8x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p8.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p9x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p9.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p10x."+".$p1y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p10.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p1x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p11.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p2x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p12.txt"); 	
	exec("echo . | convert ". $upcc24."[1x1+".$p3x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p13.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p4x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p14.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p5x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p15.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p6x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p16.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p7x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p17.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p8x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p18.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p9x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p19.txt"); 
	exec("echo . | convert ". $upcc24."[1x1+".$p10x."+".$p2y."] -format %[fx:int(255*r)],%[fx:int(255*g)],%[fx:int(255*b)]  info:".$filename."p20.txt"); 
	 	
	
	
	sleep(2);


	
	
$myFile =$filename."px.txt";
//$icclab="upload/".$filename."T.ti1";
$fh = fopen($myFile, 'w') or die("can't open file");
//fwrite($fh, $p);


$viHead='CGATS.17
ORIGINATOR	"icctrans"
#
# Data follows
#
NUMBER_OF_SETS	20
NUMBER_OF_FIELDS	4
BEGIN_DATA_FORMAT
SAMPLE_ID	RGB_R	RGB_G	RGB_B
END_DATA_FORMAT
BEGIN_DATA
';	

fwrite($fh, $viHead);

for ( $j = 1; $j <= 20; $j+= 1) {

$line=$j."	";
fwrite($fh, $line);

	$contents = file($filename."p".$j.".txt");
	$string = implode($contents);
	$p = ereg_replace(",", "	", $string);
	fwrite($fh, $p);
	  }


$viTail='END_DATA';

fwrite($fh, $viTail);	  
fclose($fh);

//echo "<br>icctrans -v -i ".$upicc." -o *Lab -t 3 ".$dStr."-CC24px.txt ".$dStr."-cc24lab.txt";
exec("echo . |icctrans -v -i sRGB.icm -o *Lab -t 3 ".$myFile." ".$filename."lab.txt"); 

	  
	 }//satrt parsing
    }//upload sucess
function get_between ($text, $s1, $s2) {
$mid_url = "";
$pos_s = strrpos($text,$s1);
$pos_e = strrpos($text,$s2);
for ( $i=$pos_s+strlen($s1) ; (( $i<($pos_e)) && $i < strlen($text)) ; $i++ ) {
$mid_url .= $text[$i];
}
return $mid_url;
}

$contents = file($filename."lab.txt");
$string = implode($contents);	
$p = str_replace(' ','', $string );
$p = str_replace('	',',', $p );
$p = str_replace(chr(13).chr(10),',', $p );
$datastring0=get_between($p,"BEGIN_DATA,",",END_DATA");
$dot = explode(",", $datastring0);
//print_r($dot);	



	
	
function de94($l1,$a1,$b1,$l2,$a2,$b2) {
  $cp=SQRT(pow($a1,2)+pow($b1,2));
  $ctp=SQRT(pow($a2,2)+pow($b2,2));
  $d76=sqrt(pow(($l1-$l2),2)+ pow(($a1-$a2),2)+pow(($b1-$b2),2));
  $dph=SQRT(ABS(pow($d76,2)-pow(($l1-$l2),2)-pow((SQRT(pow($a1,2)+pow($b1,2))-SQRT(pow($a2,2)+pow($b2,2))),2)));
  $dcp=$ctp-$cp;
  $d94=SQRT((pow((($l1-$l2)/(1*1)),2))+pow(($dcp/(1*(1+(0.045*$cp)))),2)+ pow(($dph/(1*(1+(0.015*$cp)))),2));
  return round($d94,2);
} 

?> 
<table width="200" border="1" align="center">
<tr align='center'>
  <td align='center'>編號</td>
  <td colspan="3">參考值</td>
  <td colspan="3">偵測值</td>
  <td>色差</td>
<tr align='center'>
<td align='center'>NO</td><td>RL</td><td>Ra</td><td>Rb</td><td>PL</td><td>Pa</td><td>Pb</td><td>dE(94)</td>

<?php
$TT76=0;
$max76=0;
$max1=0;
$max2=0;
$sum=0;
$i=1;
for ( $j = 0; $j < 10; $j+= 1) {
$L = $dot[$i+($j*4)];
$a = $dot[$i+1+($j*4)];
$b = $dot[$i+2+($j*4)];

$Lt = $dot[$i+(($j+10)*4)];
$at = $dot[$i+1+(($j+10)*4)];
$bt = $dot[$i+2+(($j+10)*4)];

$no=$j+1;

$de76r=de94($L,$a,$b,$Lt,$at,$bt);
$sum=$de76r+$sum;

if ($no==1) {
$bg="#ffffff";}
if ($no==2) {
$bg="#0099ff";}
if ($no==3) {
$bg="#ff75ed";}
if ($no==4) {
$bg="#faea0b";}
if ($no==5) {
$bg="#777777";}
if ($no==6) {
$bg="#95d9f0";}
if ($no==7) {
$bg="#f5abbf";}
if ($no==8) {
$bg="#eee89d";}
if ($no==9) {
$bg="#cccccc";}
if ($no==10) {
$bg="#ccccbb";}

echo "<tr align='right'><td bgcolor=".$bg.">".$no."</td><td>".round($L,2)."</td><td>".round($a,2)."</td><td>".round($b,2)."</td><td>".round($Lt,2)."</td><td>".round($at,2)."</td><td>".round($bt,2)."</td><td>";
if ($de76r>5) {
echo "<font color='red'>";}
else {"<font color='black'>";}
echo $de76r."</td></tr>";

$TT76=$de76r+$TT76;
$max1=max($max1,$de76r);

$max76=max($max1,$de76r);
}
$summ=100-$sum;
echo "<tr><td>Avg</td><td>".round(($TT76/24),2)."</td><td>Max</td><td>".$max76."</td>";

?>
 <td> score </td><td><?php echo $summ;?></td></tr>
</table>


<?php // content="text/plain; charset=utf-8"

$connection = mysql_connect("127.0.0.1", "root", "fredsql") or die ("Unable to connect!");
	mysql_query("SET NAMES 'utf8'");
	$db = "tvicheck-st";
		// select database
		mysql_select_db($db) or die ("Unable to select database!");

		// generate and execute query
		$query = "INSERT INTO CT9(company, contact, email, type, filename, iccname, score, passbit, date, device, dsn,  rankbit) VALUES('$company', '$contact', '$email',  '$type', '$filename', '$iccname','$summ', '$passbit', NOW(), '$device', '$dsn',  '$rankbit')";
		$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error());
  
		mysql_close($connection);





require_once ('../jpgraph/jpgraph.php');
require_once ('../jpgraph/jpgraph_scatter.php');

//unlink('targetrgb.ti3');

for ( $j = 1; $j <= 20; $j+= 1) {
unlink($filename."p".$j.".txt");
}
unlink($filename."x.txt");
unlink($filename."px.txt");
unlink($filename."lab.txt");


?>



<tr>

<br />
<td align="center"><font size="-2"> &copy; <a href="mailto:[email protected]">Fred Kuo</a>, 2010. All rights reserved.<br><a href="http://www.fredkuo.idv.tw/wordpress/?p=1025">Read more.</a><br>
</td>


</tr>
</body>


</html>