Image Trip Start Finish Guessing Game

RJM Programming - October, 2018


Zipfile of Images of Trip:

Score: 0

Start of Mystery TripFinish of Mystery Trip
Address 1Address 2Town/City/SuburbState/TerritoryElevationCountryAddress 1Address 2Town/City/SuburbState/TerritoryElevationCountry
Address 1Address 2Town/City/SuburbState/TerritoryElevationCountryAddress 1Address 2Town/City/SuburbState/TerritoryElevationCountry
Start of Mystery TripFinish of Mystery Trip
"; } else { $contis=file_get_contents($image); $bz=""; $zipfile="temp" . $bz . ".zip"; while (file_exists("temp" . $bz . ".zip")) { if (("" . $bz) == "") { $bz=1; } else { $bz++; } $zipfile="temp" . $bz . ".zip"; } file_put_contents($zipfile, $contis); $zip = zip_open($zipfile); $jj=0; $tablebits=""; if ($zip) { while ($zip_entry = zip_read($zip)) { $ourfilename=zip_entry_name($zip_entry); if (strpos($ourfilename, "_MACOSX/") === false) { $finame=explode("/", $ourfilename)[-1 + sizeof(explode("/", $ourfilename))]; $fname=explode(substr("\\",0,1), $finame)[-1 + sizeof(explode(substr("\\",0,1), $finame))]; $bz=""; while (file_exists(fname)) { if (("" . $bz) == "") { $fname=str_replace("" . $bz . ".", "1.", $fname); $bz=1; } else { $fname=str_replace("" . $bz . ".", "" . ($bz + 1) . ".", $fname); $bz++; } } $isc=zip_entry_read($zip_entry, zip_entry_filesize($zip_entry)); if ($jj == 0) { $idata[$jj]='data:image/' . str_replace("jpg","jpeg",strtolower(explode(".", $ourfilename)[-1 + sizeof(explode(".", $ourfilename))])) . ';base64,' . base64_encode($isc); if (strpos($image, "//") === false) { $bimage=str_replace(":80/","/","http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . str_replace("read_exif_off_image_rotate.php", $image, explode("?", explode("#", $_SERVER['REQUEST_URI'])[0])[0])); } $tablebits="

Image Trip Start Finish Guessing Game

RJM Programming - October, 2018


Zipfile of Images of Trip:

Score: 0/0

Start of Mystery TripFinish of Mystery Trip
Address 1Address 2Town/City/SuburbState/TerritoryElevationCountryAddress 1Address 2Town/City/SuburbState/TerritoryElevationCountry
Address 1Address 2Town/City/SuburbState/TerritoryElevationCountryAddress 1Address 2Town/City/SuburbState/TerritoryElevationCountry
Start of Mystery TripFinish of Mystery Trip
"; } else { if ($jj > 1) { $tablebits=str_replace("", "\n", $tablebits); } array_push($idata, 'data:image/' . str_replace("jpg","jpeg",strtolower(explode(".", $ourfilename)[-1 + sizeof(explode(".", $ourfilename))])) . ';base64,' . base64_encode($isc)); } file_put_contents($fname, $isc); $thisone=@file_get_contents(str_replace(":80/","/","http://" . $_SERVER['SERVER_NAME'] . ":" . $_SERVER['SERVER_PORT'] . explode("?", explode("#", $_SERVER['REQUEST_URI'])[0])[0] . "?image=" . $fname)); //

Exif for mysterytrip/IMG_1125.JPG

RJM Programming - August, 2016 Geolocation Context for Photograph on 2018:10:28 10:30:52 with (5.06000017956,2.27500704769) at (-33.9073638889,151.176422222) up at 13.9740066515

Thanks to http://www.v-nessa.net/2010/08/02/using-php-to-extract-image-exif-data

$rots=explode(" rotate(", $thisone); if (sizeof($rots) > 1) { if ($jj == 0) { $isdata[0]=" style=' -webkit-transform: rotate(" . explode(")", $rots[1])[0] . "); -moz-transform: rotate(" . explode(")", $rots[1])[0] . "); -ms-transform: rotate(" . explode(")", $rots[1])[0] . "); -o-transform: rotate(" . explode(")", $rots[1])[0] . "); transform: rotate(" . explode(")", $rots[1])[0] . "); ' "; $tablebits=str_replace(" SRC=", " " . $isdata[0] . " SRC=", $tablebits); } else { array_push($isdata, " style=' -webkit-transform: rotate(" . explode(")", $rots[1])[0] . "); -moz-transform: rotate(" . explode(")", $rots[1])[0] . "); -ms-transform: rotate(" . explode(")", $rots[1])[0] . "); -o-transform: rotate(" . explode(")", $rots[1])[0] . "); transform: rotate(" . explode(")", $rots[1])[0] . "); ' "); } } else { if ($jj > 0) { array_push($isdata, ""); } } $atitle=''; if (strpos($thisone, " on ") !== false) { $atitle=explode("<", explode(">", explode("'", explode('"', explode(" on ", $thisone)[1])[0])[0])[0])[0]; $eachone.="\n"; } else { $eachone.=str_replace("
", "", str_replace("
", $thisone)[0]) . "")[1])))); } unlink($fname); $jj++; } } } $tablebits=str_replace(" src=''", " " . $isdata[-1 + sizeof($isdata)] . " src='" . $idata[-1 + sizeof($idata)] . "'", $tablebits); zip_close($zip); unlink($zipfile); } echo " Image Trip Start Finish Guessing Game - RJM Programming - October, 2018 " . $eachone . $tablebits . ""; exit; } $lasts=""; if (isset($_GET['animg'])) { $ximage = urldecode($_GET['animg']); $exifbit = "Metadata"; if (!isset($_GET['return'])) $lasts = " setTimeout(preob, 1000); "; } $javascript=" var image=encodeURIComponent('" . $image . $ximage . "'); function preob() { ob(image); } function ob(tv) { if ((tv + '~').toLowerCase().indexOf('.png~') != -1) { image=encodeURIComponent(tv); document.getElementById('myform').target='itwo'; document.getElementById('isub').value=document.getElementById('isub').value.replace('Exif ','Metadata '); setTimeout(anth, 65000); } } function anth() { var dis=new Date(); top.document.location.href='//www.rjmprogramming.com.au/PHP/read_exif_off_image_rotate.php?return=' + dis.toGMTString() + '&animg=' + image; } function doalert() { alert('Please click OK in more than 60 seconds to receive report.'); anth(); } function doone() { var xdis=new Date(); parent.document.getElementById('ione').src='//www.rjmprogramming.com.au/PHP/read_exif_off_image_rotate.php?return=' + xdis.toGMTString() + '&animg=' + image; parent.document.getElementById('ione').style.display='block'; } " . $lasts . " "; if (isset($_GET['donothing'])) { echo ""; } else { $nform="
        Image URL:   
"; $rotbit=""; $htmlis=""; $indiv=""; $maptemplate="//www.rjmprogramming.com.au/PHP/Map/map.php?title=&onclick=y&label=[%27Lat%27,&value=%27Lon%27,%20%27Name%27]&data=,%20[-33.967,151.2422,~~]"; $factor=1.0; $sbit=""; $various=" "; $wasvarious="youl" . "lneverfin" . "dthis"; if (isset($_GET['image'])) { $image = urldecode($_GET['image']); } else if (isset($_POST['image'])) { $image = urldecode($_POST['image']); } else if (file_exists("/Applications/MAMP/htdocs/clouds.jpg")) { $image = "/Applications/MAMP/htdocs/clouds.jpg"; } else { $image=""; if (file_exists("/tmp/pnginfo.txt") && isset($_GET['return'])) { $stuff=@file_get_contents("/tmp/pnginfo.txt"); echo "" . $javascript . "
" . str_replace("\n", "
", $stuff) . "
" . $nform . ""; try { unlink("/tmp/pnginfo.txt"); } catch (Exception $ex) { } } else { echo "" . $javascript . "" . $nform . ""; } exit; } $types = array( 1 => "GIF", 2 => "JPEG", 3 => "PNG", 4 => "SWF", 5 => "PSD", 6 => "BMP", 7 => "TIFF", 8 => "TIFF" ); $imagetype = exif_imagetype($image); if ($types[$imagetype] == "PNG") { if (file_exists("/tmp/pnginfo.txt")) { unlink("/tmp/pnginfo.txt"); } exec('echo "identify -verbose ' . $image . ' > /tmp/pnginfo.txt ; chgrp rjmprogr /tmp/pnginfo.txt ; chown rjmprogr /tmp/pnginfo.txt" > /tmp/pnginfo.ksh'); if (file_exists("/tmp/pnginfo.ksh")) { $bcnt=0; while (!file_exists("/tmp/pnginfo.txt") && $bcnt < 10) { if (file_exists("/tmp/pnginfo.txt")) { sleep(5); $stuff=""; $stuff=@file_get_contents("/tmp/pnginfo.txt"); if (trim($stuff) != "") { //unlink("/tmp/pnginfo.txt"); //header("Location: http://www.rjmprogramming.com.au/PHP/read_exif_off_image_rotate.php?return=y"); echo "" . $javascript . "
" . str_replace("\n", "
", $stuff) . "
"; try { unlink("/tmp/pnginfo.txt"); } catch (Exception $ex2) { } } else { echo "" . $javascript . "
"; } $bcnt=11; exit; } else { sleep(6); } $bcnt++; } } else { // Imagick Type // thanks to http://php.net/manual/en/imagick.getimageproperties.php // --------------------------------------------- $imagick_type = new Imagick($image); // Open File // --------------------------------------------- $file_to_grab = $image; $file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+'); // Grab File // --------------------------------------------- $imagick_type->readImageFile($file_handle_for_viewing_image_file); // Get Image Properties // --------------------------------------------- $imagick_type_properties = $imagick_type->getImageProperties('*', FALSE); // Print Image Properties // --------------------------------------------- print("
");
       
    print_r($imagick_type_properties);
   
        // Print Each Individual, Image Property
        // ---------------------------------------------
   
    foreach($imagick_type_properties as $value)
    {
        print("$value --- ");
        print($imagick_type->getImageProperty("$value"));
        print("

"); } print("
"); } } else { if (array_key_exists($imagetype, $types)) { $htmlis="" . $javascript . "Exif for " . $image . "

Exif for " . $image . "

RJM Programming - August, 2016 Geolocation Context for Photograph" . $various . "

Thanks to http://www.v-nessa.net/2010/08/02/using-php-to-extract-image-exif-data


" . "        Image type of " . $image . " is: " . $types[$imagetype]; $exif = exif_read_data($image, 0, true); foreach ($exif as $key => $section) { foreach ($section as $name => $val) { if (sizeof($val) > 1) { $indiv.="
" . "        $key.$name: " . $val[0]; $nthing=0.0; $vs=explode("/",$val[0]); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } if ($key == "GPS" && $name == "GPSAltitude") { $vs=explode("/",$val[0]); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=" up at " . ($vs[0] / $vs1) / ($factor); $htmlis=str_replace($wasvarious, $wasvarious . " up at " . ($vs[0] / $vs1) / ($factor), $htmlis); } if ($key == "EXIF" && $name == "ShutterSpeedValue") { $vs=explode("/",$val[0]); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=" with (" . ($vs[0] / $vs1) . ","; } if ($key == "EXIF" && $name == "ApertureValue") { $vs=explode("/",$val[0]); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=($vs[0] / $vs1) . ")"; } if ($key == "GPS" && $name == "GPSLatitude") { $nthing+=($vs[0] / $vs1) / ($factor); $factor*=60; } else if ($key == "GPS" && $name == "GPSLongitude") { $nthing+=($vs[0] / $vs1) / ($factor); $factor*=60; } for ($jj=1; $jj window.open(\"" . $maptemplate . "\",\"_blank\",\"top=50,left=50,height=500,width=500\"); "; $sbit=" "; $wasvarious="Geolocation Context for Photograph" . $various; $htmlis=str_replace("Geolocation Context for Photograph ", "Geolocation Context for Photograph" . $various, str_replace("visibility:hidden", "visibility:visible", $htmlis)); } } else { if ($key == "FILE" && $name == "FileName") { $maptemplate=str_replace("~~", "~" . urlencode($val) . "~", $maptemplate); $maptemplate=str_replace("title=&", "title=" . urlencode($val) . urlencode($various) . "&", $maptemplate); } else if ($key == "EXIF" && $name == "ShutterSpeedValue") { $vs=explode("/",$val); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=" with (" . ($vs[0] / $vs1) . ","; } else if ($key == "EXIF" && $name == "ApertureValue") { $vs=explode("/",$val); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=($vs[0] / $vs1) . ")"; } else if ($key == "EXIF" && $name == "DateTimeOriginal") { $various.=" on " . $val; } else if ($key == "GPS" && $name == "GPSAltitude") { $vs=explode("/",$val); if (sizeof($vs) == 1) { $vs1=1.0; } else { $vs1=$vs[1]; } $various.=" up at " . ($vs[0] / $vs1) / ($factor); $htmlis=str_replace($wasvarious, $wasvarious . " up at " . ($vs[0] / $vs1) / ($factor), $htmlis); } else if ($key == "GPS" && $name == "GPSAltitudeRef" && trim($val) != "") { $factor=-1.0; } else if ($key == "GPS" && $name == "GPSAltitudeRef" && trim($val) == "") { $factor=1.0; } else if ($key == "GPS" && $name == "GPSLatitudeRef" && $val == "S") { $factor=-1.0; } else if ($key == "GPS" && $name == "GPSLongitudeRef" && $val == "W") { $factor=-1.0; } else if ($key == "GPS" && $name == "GPSLatitudeRef" && $val == "N") { $factor=1.0; } else if ($key == "GPS" && $name == "GPSLongitudeRef" && $val == "E") { $factor=1.0; } $indiv.="
" . "        $key.$name: $val"; } if (($key.$name) == "IFD0Orientation") { if (str_replace(" ","","$val") == "8") { //$htmlis="" . $javascript . "Exif for " . $image . "

Exif for " . $image . "

RJM Programming - August, 2016

Thanks to http://www.v-nessa.net/2010/08/02/using-php-to-extract-image-exif-data


" . "        Image type of " . $image . " is: " . $types[$imagetype]; $htmlis=str_replace("; norepeat; ", "; opacity:0.6; norepeat; -webkit-transform: rotate(270deg); -moz-transform: rotate(270deg); -ms-transform: rotate(270deg); -o-transform: rotate(270deg); transform: rotate(270deg); ", $htmlis); } else if (str_replace(" ","","$val") == "6") { //$htmlis="" . $javascript . "Exif for " . $image . "

Exif for " . $image . "

RJM Programming - August, 2016

Thanks to http://www.v-nessa.net/2010/08/02/using-php-to-extract-image-exif-data


" . "        Image type of " . $image . " is: " . $types[$imagetype]; $htmlis=str_replace("; norepeat; ", "; opacity:0.6; norepeat; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); ", $htmlis); } else if (str_replace(" ","","$val") == "3") { //$htmlis="" . $javascript . "Exif for " . $image . "

Exif for " . $image . "

RJM Programming - August, 2016

Thanks to http://www.v-nessa.net/2010/08/02/using-php-to-extract-image-exif-data


" . "        Image type of " . $image . " is: " . $types[$imagetype]; $htmlis=str_replace("; norepeat; ", "; opacity:0.6; norepeat; -webkit-transform: rotate(180deg); -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); ", $htmlis); } } } } if (str_replace("transXXXform:","",$htmlis) != $htmlis) { echo str_replace("" . $indiv . "" . $nform . $sbit . ""; } else { echo $htmlis . $indiv . "
" . $nform . $sbit . ""; } } else { echo "
" . "Not a valid image type for " . $image . " or Exif functionality not enabled." . $nform; } } } ?>