0

我有以下程序可以快速计算图像的高度和宽度,就像比较 getImageSize(); PHP 函数。原因?需要将远程图像下载到您的服务器中,然后由 php 在本地读取。

<?php
   function getimagesize($image_url){
    $handle = fopen ($image_url, "rb");
    $contents = ""; 
            if ($handle) {
                do {
                    $count += 1;
                    $data = fread($handle, 8192);
                        if (strlen($data) == 0) {
                            break;
                       }   
                $contents .= $data;
                } while(true);
            } else { return false; }
    fclose ($handle);

    $im = ImageCreateFromString($contents);
    if (!$im) { return false; }
    $gis[0] = ImageSX($im);
    $gis[1] = ImageSY($im);
    // array member 3 is used below to keep with current getimagesize standards
    $gis[3] = "width={$gis[0]} height={$gis[1]}";
    ImageDestroy($im);
    return $gis;                                                                                                                                                       
   }   
$image_url = "http://xample.com/4.jpg";
$get = getimagesize($image_url);
print $get;

?>

但是在执行此 php 代码后,我收到以下错误

Fatal error: Cannot redeclare getimagesize() in C:\wamp\www\test\CheckWH.php on line 25
4

2 回答 2

2

PHP 中已经有一个称为 getImageSize 的标准方法。重命名您的方法,一切都很好。

http://php.net/manual/en/function.getimagesize.php

于 2012-11-22T14:37:10.390 回答
0

您可以使用 php 中的标准方法 getimagesize()

list($width, $height) = getimagesize("http://xample.com/4.jpg"); 
echo "$width x $height (px)"; 
于 2012-11-22T14:41:10.377 回答