如何确定是否传入函数路径或图像?

时间:2015-02-05 10:20:29

标签: php

例如,我有一个名为test的函数,其中我用图像做了一些东西。我希望能够检测到它是通过图像还是仅通过它的路径。例如:

function test($image) {
    // here I need to detec if $image is path or loaded image
}

test('/home/name/image.jpg');
test(file_get_contents('/home/name/image.jpg'));

4 个答案:

答案 0 :(得分:1)

假设你有这些消毒过的:

if (file_exists($image)) {
  // path
} else {
  // image
}

您可能希望使用else子句中的某个图像处理库来检查图像是否是正确的图像。

答案 1 :(得分:0)

您可以将is_file用于此

  

判断给定文件是否是常规文件。

答案 2 :(得分:0)

使用getimagesize($image);。如果它有宽度和高度,则为图像。有关完整信息,请参阅http://php.net/manual/en/function.getimagesize.php

$image_size = getimagesize($image);
$image_size[0] > 0 ? /*It's an image*/ : /*It's not*/;

答案 3 :(得分:0)

试试这个

function test($image) {
  if($image=='')
  {
    return false;
  }
  if(file_exists($image))
  {
    echo "file exists";
  }
  else
  {
    echo "path is passed to the function";
  }
}

test('/home/name/image.jpg');
test(file_get_contents('/home/name/image.jpg'));