我发现此代码可以在javascript上获取图片大小:
function getImgSize(imgSrc)
{
var newImg = new Image();
newImg.src = imgSrc;
var height = newImg.height;
var width = newImg.width;
alert ('The image size is '+width+'*'+height);
}
它完美无缺,但我需要获得受保护图像的大小;为了访问图像,我使用页面image.php?id = IMAGE_ID,它工作,因为在这个页面我检查权限并发回图像。但是当我把这个链接放在javascript函数上时,为了获得它的大小,它不起作用。任何帮助(如果我把图像的直接链接既不起作用,因为它在.htaccess文件中被阻止)?
包含图像的文件夹还包含一个.htaccess文件,该文件拒绝访问以进行翻转。为了获得图像,我使用这个PHP页面:
Image.php:
//check if the user has permission
//if not, show a image with the text 'no permission'
//if it's ok
$filename = "images\\fotos\\" . $imgl;
$image = imagecreatefromjpeg($filename);
header('Content-type: image/jpeg');
imagejpeg($image, null, 100);
imagedestroy($image);
答案 0 :(得分:2)
如果它被.htaccess阻止,你就无法做任何事情。这意味着在任何情况下都无法从服务器外部访问它。
您可以解决您编写获取图像大小的特殊php文件然后通过AJAX调用此文件的问题。但是,这需要aditional服务器资源。
答案 1 :(得分:2)
正确的方法是:
var newImg = new Image();
newImg.onload = function ()
{
var height = newImg.height;
var width = newImg.width;
alert ('The image size is '+width+'*'+height);
};
newImg.src = imgSrc;