Here is a function I made for a site I am currently working on. What it does is reads a specifed photoshop psd file and retrieves the width and height.
Comments are welcome, If you have any questions just ask
mixed getPSDdimensions ( string fileandpath )
Returns string representation.
Sample output: “1600 x 1200”
function getPSDdimensions($fileandpath){
if (file_exists($fileandpath)){
$filecontent = file_get_contents($fileandpath);
$xstart = strpos($filecontent,"<exif:PixelXDimension>") + strlen("<exif:PixelXDimension>");
$ystart = strpos($filecontent,"<exif:PixelYDimension>") + strlen("<exif:PixelYDimension>");
$xlength = strpos($filecontent,"</exif:PixelXDimension>") - $xstart;
$ylength = strpos($filecontent,"</exif:PixelYDimension>") - $ystart;
if($xstart != false && $ystart != false && $xlength != false && $ylength != false){
$psdWidth = substr($filecontent, $xstart, $xlength);
$psdHeight = substr($filecontent, $ystart, $ylength);
return $psdWidth . " x " . $psdHeight;
}else{
return "Unknown";
}
}else{
return "Unknown";
}
}
Returns array representation.
Sample Output:
Array ([indent][0] => 1600
[1] => 1200
[/indent])
function getPSDdimensions($fileandpath){
if (file_exists($fileandpath)){
$filecontent = file_get_contents($fileandpath);
$xstart = strpos($filecontent,"<exif:PixelXDimension>") + strlen("<exif:PixelXDimension>");
$ystart = strpos($filecontent,"<exif:PixelYDimension>") + strlen("<exif:PixelYDimension>");
$xlength = strpos($filecontent,"</exif:PixelXDimension>") - $xstart;
$ylength = strpos($filecontent,"</exif:PixelYDimension>") - $ystart;
if($xstart != false && $ystart != false && $xlength != false && $ylength != false){
$psdWidth = substr($filecontent, $xstart, $xlength);
$psdHeight = substr($filecontent, $ystart, $ylength);
return array($psdWidth, $psdHeight);
}else{
return false;
}
}else{
return false;
}
}