0

基本上,我编写了一个汽车网站,该网站自动将汽车从另一个网站导入数据库,但是图像参考根据图像参考动态显示在产品页面上,并且基于车牌 IE* WG06HGY1.JPG、WG06HGY2.JPG 等(1 -9 张图片)

因此,始终保持最新的每日 csv 导入文件称为 cars.csv,它始终包含当前销售的汽车,然后我创建了代码来创建名为 reg_plate_images.csv 的 csv 文件的副本,其中仅存在注册字段。

如何以编程方式取消链接/删除服务器上数千个未使用的汽车图像?我需要通过 cron 设置一个脚本,每周执行一次。

我需要构建一个数组并匹配 reg_plate_images.csv 中的 [regplate1-9.jpg](预匹配或 str_pos),如果不等于 csv 列表中的图像,请取消链接文件夹中未使用的图像。

或者另一种方式可能是:

将 csv 等中存在的图像复制到新文件夹 images_temp 删除/取消链接图像目录 将 images_temp 重命名为图像。任务完成。

最好的编码方式是什么?

谢谢。

4

1 回答 1

0

描述

首先将要删除的所有图像作为|分隔列表放入正则表达式中。然后使用正则表达式替换字符串。

正则表达式:,?(?:WG06HGY2\.JPG|WG06HGY4\.JPG|HELP1\.JPG|HELP4\.JPG)(?=[\r\n,]|\Z)

替换为:无

在此处输入图像描述

例子

示例文本

FULL REG WG06HGY1.JPG,WG06HGY2.JPG,WG06HGY3.JPG,WG06HGY4.JPG
WXT55331.JPG,WXT553312.JPG,WXT553313.JPG,WXT553314.JPG,HELP1.JPG,HELP2.JPG,HELP3.JPG,HELP4.JPG

代码

<?php
$sourcestring="your source string";
echo preg_replace('/,?(?:WG06HGY2\.JPG|WG06HGY4\.JPG|HELP1\.JPG|HELP4\.JPG)(?=[\r\n,]|\Z)/imsx','',$sourcestring);
?>

更换后

FULL REG WG06HGY1.JPG,WG06HGY3.JPG
WXT55331.JPG,WXT553312.JPG,WXT553313.JPG,WXT553314.JPG,HELP2.JPG,HELP3.JPG
于 2013-07-05T01:23:21.247 回答