用一个实例看如何分享大量照片 续篇一

继续上篇的实例分享,在此罗列一些应该注意的细节,以便在下次可以更加省时省力。

  1. 最重要的是呈现构想,如按活动/主题、班级/板块、地区/国家等等,这些都应该事先计划好,事后改动工作量巨大,因为太容易出错,这方面的调整相当费神。

  2. 文件名的规则要事先想好,文件名可以包括排序、分组和内容说明,可以包含中文。但默认对数字123的排序是文本,而不是数字,文件名不易过长,要尽量描述清楚,这可以省略另外写图片描述,这方面的调整耗时但不耗神。

  3. 图片信息保持越完整,在多年以后就越有价值,当然如果含有敏感信息就应该尽可能在公开前要抹去。
    在这里插入图片描述
    在这里插入图片描述
    现在的手机照片还有地理信息,是否保留具体要看使用场景;在此最难的是软件的选择,因为可能性太多,所以无法具体,但关键也要看是否保留或抹去这些隐藏的信息。

  4. 图像资料一般来自各方,有些是来自已经整理过的资料,在本例中就遇到通过文件夹名来说明的资料,所以需要做批量处理

    下面是Linux命令脚本 changename.sh

    for i in `ls`; 
    do mv -f $i `echo "XXX提供_"$i`;
    done;
    

    可以批量在当前目录下的文件名加上前缀“XXX提供_”,执行此脚本-> ./changename.sh
    这就是一个半自动的小工具。

  5. 在上篇讲到,大图片都放在主文件夹里,然后small-img文件夹来分主题或服务群,在此分享一个在小图文件夹里调整次序的方法:

    <!DOCTYPE html // 加3位排序号 >  
    <html>
    <head> 
    <meta charset="utf-8"> 
    <title>吃在阳朔</title> 
    <link rel="stylesheet" href="./stylecol1500.css" />
    </head>
    <body class="stackedit">
    <style>div {float: left;height: 250px;margin: 5px 10px; /* 上下间距10px,左右间距20px */}
    </style><h2>吃在阳朔</h2><?php 
    define('IMAGEPATH', './ysfood/');
    function get_basename($filename){    return preg_replace('/^.+[\\\\\\/]/', '', $filename);    }foreach(glob(IMAGEPATH . '*.{jpg,JPG,jpeg,JPEG,png,PNG}', GLOB_BRACE) as $filename){ 
    $simgs[] = $filename;
    $imgs[] = get_basename($filename); 
    } 
    foreach ($imgs as $img) { // 获取文件名和大小 $filePath = IMAGEPATH . $img; $fileName = get_basename($filePath); $fileSize = round(filesize(substr($fileName, 3)) / 1042, 2); 	// 文件大小转换为KB// 生成大图路径  $bigImgPath = "{$fileName}";$bigImgPath = substr($fileName, 3);   // 切3位排序号// 显示图片  echo "<div><a href='$bigImgPath' target='_blank'><img src='$filePath' alt='$fileName' /></a> <br />";echo "文件大小: {$fileSize}KB <br />";echo "$fileName<br /><br /> </div>";} ?> </body>
    </html>
    

    原本小图的文件名跟大图是一模一样的,现在在小图文件名前加3位字符来调整默认排序的次序,上面的脚本就是针对文件夹“ysfood”进行此操作,只要在原小图文件名加三个字符,在需要时进行调整就可以任意改变显示次序。这个次序只对“ysfood”这个PHP+文件夹有效,对其他没有任何影响。

  6. 在上篇讲到PHP的呈现可以作为静态HTML存下来打包,以便在任何电脑上离线保存和浏览,为了方便移植在整个过程中使用的都是相对地址,最好在服务器LOCAL生成静态HTML,这样工作量最小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/34133.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

中东文明史

转自&#xff1a;想要了解完整的中东文明史&#xff1f;这篇文章成全你 - 知乎 (zhihu.com) 写在前面 中东文明是人类历史上最古老的文明。人类祖先从东非大裂谷走出之后&#xff0c;首先选择定居在中东地区的新月沃土上&#xff0c;并建立了人类历史上有文字记载的第一个文明…

java课程设计GUI学生信息管理系统

目录 系统内容.. 3 用户界面模块... 4 数据存储模块... 4 信息管理模块... 4 管理模块.. 4 主要模块的算法描述... 4 –简要的语言描述... 4 运行及调试分析&#xff08;测试数据及测试结果&#xff09;.. 5 课程设计总结... 7 参考文献&#xff08;至少三个&#xf…

大林 PID 算法

Dahlin PID算法是一种用于控制和调节系统的比例积分延迟算法。以下是一个简单的C语言实现示例&#xff1a; #include <stdio.h>// DALIN PID 结构体定义 typedef struct {float SetPoint; // 设定点float Proportion; // 比例float Integral; // 积分float Derivativ…

vite:配置打包后js的文件名,解决更新后浏览器缓存问题(了解浏览器的强缓存与协商缓存)

目录 第一章 简单理解浏览器的缓存机制 1.1 什么是缓存 1.2 强缓存 1.3 协商缓存 第二章 配置输出js文件名 2.1 原因 2.2 配置代码 第一章 简单理解浏览器的缓存机制 1.1 什么是缓存 当我们第一次访问网站的时候&#xff0c;我们的电脑会把网站上的图片和数据下载到电…

如何优雅地使用 console.log 打印数组或对象

一、背景 使用 console.log 在控制台中打印数组或者对象时&#xff0c;很多时候它们的字段都是默认关闭的&#xff0c;需要手动一个个的点开&#xff0c;非常不直观且麻烦。 二、解决方案 使用 JSON.stringify() 的第三个参数 我们来看一下官方对于 JSON.stringify 的介绍 三、…

Gitee 的公钥删不掉

公钥管理里已经没有公钥了&#xff0c; 仓库里还有&#xff0c;这是怎么回事&#xff1f; 这两个好像又没什么关系。 那为啥要搞两处呢&#xff1f; 个人信息里的公钥一直就没有仓库里使用的公钥&#xff0c; 删掉个人信息里的也没什么影响。 在仓库管理页面导入新公钥提示已…

AI 大模型企业应用实战(06)-初识LangChain

LLM大模型与AI应用的粘合剂。 1 langchain是什么以及发展过程 LangChain是一个开源框架&#xff0c;旨在简化使用大型语言模型构建端到端应用程序的过程&#xff0c;也是ReAct(reasonact)论文的落地实现。 2022年10月25日开源 54K star 种子轮一周1000万美金&#xff0c;A轮2…

解决vscode运行js时突然报错

1. 问题背景 创建JavaScript文件运行&#xff0c;弹出错误&#xff1a;Can’t find Node.js binary “node”: path does not exist. Make sure Node.js is installed and in your PATH, or set the “runtimeExecutable” in your launch.json 这是由于没有配置好setting.js…

C语言入门系列:从内存原理看函数的值传递和引用传递

文章目录 一&#xff0c;值传递二&#xff0c;引用传递三&#xff0c;从内存原理看值传递和引用传递的区别1 值传递内存示意图2 引用传递内存示意图 参考文献 函数参数用于向函数传递数据&#xff0c;C语言支持两种传递方式&#xff1a;值传递和引用传递。 一&#xff0c;值传递…

工程文档CAD转换必备!在 Java 中将 DWG 转换为 JPG

Aspose.CAD 是一个独立的类库&#xff0c;以加强Java应用程序处理和渲染CAD图纸&#xff0c;而不需要AutoCAD或任何其他渲染工作流程。该CAD类库允许将DWG, DWT, DWF, DWFX, IFC, PLT, DGN, OBJ, STL, IGES, CFF2文件、布局和图层高质量地转换为PDF和光栅图像格式。 Aspose AP…

Synchronized、volatile与ReentrantLock:比较这些同步机制在Java并发编程中的应用和区别

在Java并发编程中&#xff0c;确保多个线程安全地访问共享资源是至关重要的。为实现这一目标&#xff0c;Java提供了多种同步机制&#xff0c;其中synchronized、volatile和ReentrantLock是最常用的几种。下面&#xff0c;我们将从技术难点、面试官关注点、回答吸引力以及代码举…

如何用家政服务小程序源码系统 快速搭建家政自己接单的软件?

随着移动互联网的快速发展&#xff0c;线上预约服务已成为家政行业的新趋势。然而&#xff0c;许多家政企业面临着信息不透明、服务质量参差不齐、管理效率低下等问题。家政服务小程序系统&#xff0c;可以帮助商家快速搭建自己的接单软件&#xff0c;提升服务效率&#xff0c;…

嵌入式学习——Linux操作系统——文件编程练习

1.使用fread和fwrite方式完成任意普通文件的拷贝功能。 模拟 文件下载 #include <stdio.h>void do_copy(FILE *fp_s,FILE *fp_d) {char buf[100] {0};int ret;while (ret fread(buf,sizeof(char),sizeof(buf),fp_s))fwrite(buf,sizeof(char),ret,fp_d); }//./a.out sr…

开源网安参编的《代码大模型安全风险防范能力要求及评估方法》发布

​代码大模型在代码生成、代码翻译、代码补全、错误定位与修复、自动化测试等方面为研发人员带来了极大便利的同时&#xff0c;也带来了对安全风险防范能力的挑战。基于此&#xff0c;中国信通院依托中国人工智能产业发展联盟&#xff08;AIIA&#xff09;&#xff0c;联合开源…

深圳比创达|EMC电磁兼容性行业:电子设备质量的“守门员”

随着科技的不断进步和电子产品的普及&#xff0c;电磁兼容性&#xff08;EMC&#xff09;问题愈发受到行业内外的高度关注。EMC作为衡量电子设备在电磁环境中能否正常工作的重要指标&#xff0c;对于保障设备稳定运行、减少电磁干扰、提升产品质量具有重要意义。 一、EMC电磁兼…

水产养殖监测系统解决方案有哪几部分

随着科技的不断进步&#xff0c;水产养殖行业也迎来了智能化、信息化的新时代。在这一背景下&#xff0c;水产养殖监测系统解决方案应运而生&#xff0c;为养殖企业提供了科学、高效的管理工具。 一、系统概述 水产养殖监测系统是通过现代传感技术、数据分析技术以及互联网通信…

微信小程序(跳转)

在微信小程序中&#xff0c;常用的跳转方式包括以下几种 1.页面跳转 可以使用wx.navigateTo、wx.redirectTo和wx.reLaunch方法实现页面的跳转。 wx.navigateTo&#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面。wx.redirectTo&#xff1a;关闭当前页面&#xff…

【每日一题】503. 下一个更大元素 II

思路&#xff08;c&#xff09; 使用单调栈的解法&#xff0c;单调栈里面存的是大于当前元素的index&#xff0c;不是直接存值。但是这个题目是一个循环数组&#xff0c;可以在后面补一段前面的内容&#xff0c;这样就可以正常遍历。将每个位置对应的结果存在map中 后面循环…

mysql的语句查询顺序、耗时分析以及查询调优技巧

在MySQL中&#xff0c;SQL查询语句的执行顺序、耗时分析以及查询调优是优化数据库性能的重要方面。以下是关于这些方面的详细解释。 1. SQL查询语句的执行顺序 虽然我们编写SQL语句的顺序通常是 SELECT -> FROM -> WHERE -> GROUP BY -> HAVING -> ORDER BY -…

前后端分离后灰度发布实现方式

1、什么是灰度发布 灰度发布, 也叫金丝雀发布。是指在黑与白之间&#xff0c;能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式&#xff0c;让一部分用户继续用A&#xff0c;一部分用户开始用B&#xff0c;如果用户对B没有什么反对意见&#xff0c;那么逐步扩大范围&…