PHP怎么随机获取一张图片并返回图片网址

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP怎么随机获取一张图片并返回图片网址相关的知识,希望对你有一定的参考价值。

image.haosou.com/i?q=兔子&src=srp 怎么随机获取其中一个图片并返回图标网址我做的只能返回第一张

参考技术A 从一个目录里获取某类型文件的清单(用在WEB的话一般是jpg/gif/png)->通过随机函数选一个图片->输出代码。
php代码如下:

复制代码 代码如下:

$imglist='';
//用$img_folder变量保存图片所在目录,必须用“/”结尾
$img_folder = "images/tutorials/";
mt_srand((double)microtime()*1000);
//使用目录类
$imgs = dir($img_folder);
//检查目录下是否有图片,并生成一个清单
while ($file = $imgs->read())
if (eregi("gif", $file) || eregi("jpg", $file) || eregi("png", $file))
$imglist .= "$file ";
closedir($imgs->handle);
//把清单里的项都放到一个数组里
$imglist = explode(" ", $imglist);
$no = sizeof($imglist)-2;
//生成一个介于0和图片数量之间的随机数
$random = mt_rand(0, $no);
$image = $imglist[$random];
//输出结果
echo '<img src="'.$img_folder.$image.'" border="0/" alt="" />';追问

不会用能不能给个简单点的例子

追答

";
?>
思路就是读取这个文件夹下的所有img文件的文件名放到数组,
然后输出就简单的多了
读取文件夹
$path = opendir($dir);

while (false !== ($file = readdir($path)))
if($file!="." && $file!="..")
if(is_file($dir."/".$file))
$files[]=$file;
else
$dirs[]=$file;// $dir."/".$file


具体的请看手册readdir

本回答被提问者采纳

php网页批量上传图片是怎么实现的,有没有例子,或插件

像QQ空间那种上传图片后,它是怎么保存的,然后当用户打开时,可以一张一张看图片是怎么实现 的

参考技术A #region 绑定 FileUpLoad 控件
public static bool ControlFun(FileUpload ControlName, string[] FileType, int FileSize, string SaveFileName)

// 获取上传文件路径
string FileDir = ControlName.PostedFile.FileName;
// 获取上传文件名
string FileName = FileDir.Substring(FileDir.LastIndexOf("\\") + 1);
// 获取上传文件类型
string Types = FileDir.Substring(FileDir.LastIndexOf(".") + 1);
// 获取上传文件大小
int Size = ControlName.PostedFile.ContentLength;
// 获取上传文件名并改名
string UpFileNames = FileName.Substring(FileName.LastIndexOf("."));
// 获取上传文件时间,修改上传文件名
string EditFileName = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss fff").Replace(" ", "_").Replace(":", "-") + Guid.NewGuid().ToString();
// 上传文件真正名
string UFName = EditFileName + UpFileNames; ;
try

// 判断文件类型
string StrType = "";
for (int i = 0; i < FileType.Length; i++)

if (Types == FileType[i])

StrType = Types;


// 判断文件类型
if (Types != StrType)

ShowMessage.Box("上传文件类型不符合");
return false;

// 判断文件大小
if (Size > FileSize)

ShowMessage.Box("上传文件大小超出范围!");
return false;

// 上传文件
ControlName.PostedFile.SaveAs(HttpContext.Current.Server.MapPath(SaveFileName) + "/" + UFName);
return true;

catch

return false;



#endregion本回答被提问者和网友采纳
参考技术B http://www.phptogether.com/codelib/?file=php%2Fphp%B6%AF%CC%AC%C5%FA%C1%BF%C9%CF%B4%AB%CE%C4%BC%FE

以上是关于PHP怎么随机获取一张图片并返回图片网址的主要内容,如果未能解决你的问题,请参考以下文章

Php怎么生成数字图片

前端干货之随机图库 Lorem Picsum(只需要按规则写个网址就行,不需要集成任何插件环境)

返回随机图片的API_2020.06.12

抓取随机图片

php学习笔记:利用gd库生成图片,并实现随机验证码

怎样用matlab随机调用三张图片