well I got it to work (divide the F num) thnx to dryan's code mentioned above and a php function from php.net which strips the tags from the xmp data output ;
`$strvalue = preg_replace ("@</?[^>]*>*@", "", $value);`
so the full code for getting the xmp date is as follow;
`
<?php
$xmp_parsed = ee_extract_exif_from_pscs_xmp ("../" . getFullImageURL() . "",1);
function ee_extract_exif_from_pscs_xmp ($filename,$printout=0) {
ob_start();
readfile($filename);
$source = ob_get_contents();
ob_end_clean();
$xmpdata_start = strpos($source,"<x:xmpmeta");
$xmpdata_end = strpos($source,"</x:xmpmeta>");
$xmplenght = $xmpdata_end-$xmpdata_start;
$xmpdata = substr($source,$xmpdata_start,$xmplenght+12);
$xmp_parsed = array();
$regexps = array(
//array("name" => "maker", "regexp" => "/<tiff:Make>.+</tiff:Make>/"),
array("name" => "model", "regexp" => "/<tiff:Model>.+</tiff:Model>/"),
array("name" => "exp", "regexp" => "/<exif:ExposureTime>.+</exif:ExposureTime>/"),
array("name" => "f", "regexp" => "/<exif:FNumber>.+</exif:FNumber>/"),
array("name" => "mm", "regexp" => "/<exif:FocalLength>.+</exif:FocalLength>/"),
array("name" => "iso", "regexp" => "/<exif:ISOSpeedRatings>s*<rdf:Seq>s*<rdf:li>.+</rdf:li>s*</rdf:Seq>s*</exif:ISOSpeedRatings>/"),
);
foreach ($regexps as $key => $k) {
$name = $k["name"];
$regexp = $k["regexp"];
unset($r);
preg_match ($regexp, $xmpdata, $r);
$xmp_item = "";
$xmp_item = @$r[0];
array_push($xmp_parsed,array("item" => $name, "value" => $xmp_item));
}
echo "";
if ($printout == 1) {
foreach ($xmp_parsed as $key => $k) {
$item = $k["item"];
$value = $k["value"];
$strvalue = preg_replace ("@</?[^>]*>*@", "", $value);
if($item=="model"){
print "<div class=\"model\"><b>" . $strvalue . "</b>";
} else if ($item=="exp") {
$exposure = split("/",$strvalue);
if(count($exposure) == 2){
$strvalue = round($exposure[0]/$exposure[1],2);
if($strvalue < 1) $strvalue = '1/'.round($exposure[1]/$exposure[0],0);}
print "" . $strvalue . " sec.";
} else if ($item=="f") {
$strvalue = split("/",$strvalue);
if(count($strvalue) == 2) $strvalue = round($strvalue[0]/$strvalue[1],2);
print " f/ " . $strvalue . "";
} else if ($item=="mm") {
$strvalue = split("/",$strvalue);
if(count($strvalue) == 2) $strvalue = round($strvalue[0]/$strvalue[1],2);
print "" . $strvalue . "" . $item . "";
} else {
print "" . $item . "" . $strvalue . "";
}
}
}
echo "</div>";
return ($xmp_parsed);
}
?>
`
I hope this will help ppl who are stuck on IIS