【发布时间】:2013-08-12 22:30:35
【问题描述】:
如何在不知道它是什么的情况下获得图像文件的扩展名?我曾尝试使用 glob,如下所示,但它返回错误:"Array Notice: Undefined offset: 0"
$path=BASEURL."content/images/profile_images/".$imageName;
$results= glob($path.'.*');
$filename = $results[0];
echo $filename;
【问题讨论】:
-
有一个内置函数
pathinfo检查答案也会更容易维护。 -
你能举个例子说明
$imageName可以是什么吗? -
仅供参考,“数组注意:未定义的偏移量:0”表示索引 0 超出了数组的边界。由于 0 是数组的第一个索引,因此数组的长度为 0。
-
这正是我所说的......如果您使用该函数,那么如果您的文件没有扩展名,您将获得扩展名或空字符串。我说得有道理吗?
-
@woofmeow 您的回答只会返回一个空字符串,因为灰色表示扩展名不在 $imageName 变量中。如果他有完整的文件名,那么他可以使用 pathinfo() 来检索扩展名,但是他没有完整的文件名。他只有基本名称减去扩展名。他的路径本质上是“content/images/profile_image/myimg”而不是“content/images/profile_image/myimg.ext”,因此如果你将前一个字符串传递给 pathinfo 函数,你只会得到一个空字符串。跨度>