如果我不知道它的名字,我怎么能使用PHP
来获得image
?
说明:当用户将图像上传到服务器时,图像的名称如下:user_id_timestamp.jpg
。现在我想访问这张图片,但我只知道它名字的一半:<img src="user_id_*.jpg"/>
。*
部分是unknown
.感谢您的帮助。
我想你在寻找glob()
所以你可以做这样的事情:
<?php
$userId = 234567865;
foreach (glob($userId . "_*.jpg") as $filename)
echo "$filename size " . filesize($filename) . "<br />";
?>
示例输出可以是:
234567865_1418760613.jpg size 879394
编辑:
如果要在找到图像时停止脚本,可以使用以下命令:
<?php
$userId = 234567865;
$pattern = $userId . "_*.jpg";
foreach (glob($pattern) as $filename) {
if (strpos($filename, $userId) !== true) {
echo "User: $userId File: $filename";
break;
}
}
?>
示例输出可以是:
User: 234567865 File: 234567865_1418760151.jpg
如果您有来自同一用户的多个文件,并且想要具有最新时间戳的图像,请使用以下命令:
<?php
$userId = 234567865;
$pattern = $userId . "_*.jpg";
$last = 0;
$newest = 0;
foreach (glob($pattern) as $filename) {
if(substr($filename, strpos($filename, "_") + 1) > $last)
$newest = $filename;
$last = substr($filename, strpos($filename, "_") + 1);
}
echo "The newest avatar image from user: $userId is: $newest";
?>
示例输出可以是:
The newest avatar image from user: 234567865 is: 234567865_1418760151.jpg
有关详细信息,请参阅:http://php.net/manual/en/function.glob.php