PHP环境网页如何随机抓取指定文件夹内的图片并显示出来

在服务器php环境下,随便建个目录(如photo),再把下面的代码复制做成index.php放到photo文件夹内,然后再在里面再建个images文件夹,把自己的壁纸靓照等喜欢的图片统统都放进去,就可以随机浏览展示images文件夹内的所有图片了,地址格式如www.abc.com/photo再次打开或刷新即可随即展示每张图片。

<?php
header('Cache-Control:no-cache,must-revalidate');header('Pragma:no-cache');header("Expires:0");header("Access-Control-Allow-Origin:*");
//开始处理请求输出数据,先得到当前文件夹中images文件夹里所有指定类型图片的数组
    $rand=rand(0,1);
if($rand){
    $localurl="images/*.{jpg,png,gif,bmp,tif,tga,svg,webp}";
}else{
    $localurl="images/*.{jpg,png,gif,bmp,tif,tga,svg,webp}";
}
    $img_array=glob($localurl,GLOB_BRACE);
//从数组中选择一个随机图片并获取图片的地址
    $img=array_rand($img_array);
    $imgurl=$img_array[$img];
    $https=isset($_GET["https"])?$_GET["https"]:1;
if($https == "true"){
    $imgurl='https://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'].$imgurl;
}else{
    $imgurl='http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'].$imgurl;
}
if(isset($_GET["type"])?$_GET["type"]:1=="json"){
    $rTotal='0';
    $gTotal='0';
    $bTotal='0';
    $total='0';
    $imageInfo = getimagesize($img_array[$img]);
//图片的类型
    $imgType = strtolower(substr(image_type_to_extension($imageInfo[2]), 1));
//对应的函数
    $imageFun = 'imagecreatefrom' . ($imgType == 'jpg' ? 'jpeg' : $imgType);
    $i = $imageFun($img_array[$img]);}
// 如果是网络图片Api就用这个例如 $path = 'https://pic.photo.com/images/api?=1';把下面的$imgurl替换成$path然后删除上面的获取函数即可
//获取图片信息
$imgInfo = getimagesize($imgurl);
// 获取图片类型
$imgType = $imgInfo[2];
//检测图片类型,只载入gif、jpg、png三种格式
switch ($imgType) {
    case 1: // gif
//采用gif方式载入
    $img = imagecreatefromgif($imgurl);
//声明文件为图片类型
       header('Content-Type:image/gif;');
//采用gif方式输出
       imagegif($img);
       break;
    case 2: // jpg
//采用jpg方式载入
       $img = imagecreatefromjpeg($imgurl);
//声明文件为图片类型
       header('Content-Type:image/jpeg;');
//采用jpeg方式输出
       imagejpeg($img);
       break;
    case 3: // png
//采用png方式载入
       $img = imagecreatefrompng($imgurl);
//声明文件为图片类型
       header('Content-Type:image/png;');
//采用png方式输出
       imagepng($img);
       break;
    default:
       header('refresh:0;');
}
//X缓存图
imagedestroy($img);
//删除变量
unset($img);
?>

建议用EditPlus类似的编辑器编码用UTF-8格式保存或进行编辑,放到任意目录后直接访问即可,喜欢请点赞支持,谢谢。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
可以使用 Python 的 requests 和 BeautifulSoup 库来实现爬取网页图片并放到指定文件夹的操作。具体步骤如下: 1. 使用 requests 库获取需要爬取的网页内容,并将其转换为 BeautifulSoup 对象。 2. 使用 BeautifulSoup 库解析 HTML 文档,找到所有需要爬取的图片链接。 3. 遍历所有图片链接,使用 requests 库下载图片,并保存到指定文件夹。 下面是一个简单的示例代码,仅供参考: ```python import os import requests from bs4 import BeautifulSoup # 定义需要爬取的网页 URL 和保存图片文件夹路径 url = "https://www.example.com" save_dir = "/path/to/save/folder" # 使用 requests 库获取网页内容,并将其转换为 BeautifulSoup 对象 response = requests.get(url) soup = BeautifulSoup(response.content, "html.parser") # 使用 BeautifulSoup 库解析 HTML 文档,找到所有需要爬取的图片链接 img_tags = soup.find_all("img") img_urls = [img["src"] for img in img_tags] # 遍历所有图片链接,使用 requests 库下载图片,并保存到指定文件夹 for img_url in img_urls: img_name = img_url.split("/")[-1] img_path = os.path.join(save_dir, img_name) img_response = requests.get(img_url) with open(img_path, "wb") as f: f.write(img_response.content) print(f"Saved image {img_path}") ``` 在上面的代码,我们使用了 os 模块来拼接图片保存的路径,使用 requests 库来下载图片,并使用 with 语句来保证文件操作的安全性。需要注意的是,如果网页包含了相对路径的图片链接,需要根据需要手动拼接完整的 URL。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轶软工作室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值