php根据mysql中的列重命名目录中的文件

时间:2012-05-14 05:04:46

标签: php mysql file rename

我想知道是否有人可以帮忙解决这个问题。假设我有一个包含'cust_id'和'name'列的数据库。 我想将目录中的2000多个图像从其现有的“name.jpg”重命名为“cust_id.jpg”。 列'name'包含文件夹中的所有图像名称,我希望它们重命名为相关的客户ID#。

我很确定这可以用php / mysql完成,但我对php的了解非常有限,我不知道从哪里开始写这个。我意识到我必须创建一个记录集来提取所需的数据,读取目录,循环等等。但是我现在这超出了我的能力范围。帮助不大?

谢谢!

2 个答案:

答案 0 :(得分:2)

尝试此代码..假设您的表名为tbl_customer并且您已准备好数据库连接设置

$res = mysql_query("SELECT * FROM tbl_customer");

while($row = mysql_fetch_assoc($res)){
  $name = $row['name'];
  $cust_id = $row['cust_id'];

  if(file_exists('path/to/your/image/directory/'.$name)){
    rename('path/to/your/image/directory/'.$name,'path/to/your/image/directory/'.$cust_id.".jpg");
  }
}

答案 1 :(得分:0)

为了获得良好的回应,可能需要一些细节。 Sitll我正试着帮助你。我现在正在假设表名等。你可以使用你的名字。此外,我假设每个客户只有一个图像。

UPDATE `customer_images`
SET `name` = CONCAT(`cust_id`,".jpg")

此处cust_id是客户ID的列名

如果假设不正确或SQL无效,请告诉我。