【问题标题】:PHP rename File everyday [closed]PHP每天重命名文件[关闭]
【发布时间】:2020-06-22 08:41:20
【问题描述】:

我每天在我的服务器上接收一个 csv。 我正在尝试删除旧文件并重命名新文件。

unlink("old.csv"); 

新的 csv 每天都有一个新的文件名。 3 月 7 日,该文件被称为 new20200307.csv 3 月 8 日 new20200308.csv等等

如何将新文件重命名为old.csv?使用该代码将我的旧文件重命名为new20200308new.csv

<?php
$directory = '/cronjob/smart/';
foreach (glob($directory."*.csv") as $filename) {
    $file = realpath($filename);
    rename($file, str_replace(".csv","new.csv",$file));
}
?>

【问题讨论】:

  • rename($file, 'old.csv');?
  • 如果你希望文件名是“old.csv”,为什么不在rename() 的调用中使用它,比如rename($file, $directory."old.csv");
  • 这里重命名的确切问题是什么?也许您想检查str_replace生成的文件名是否是您期望的名称?
  • 抱歉造成误解 - 每天都会推送一个新的 csv。我想删除昨天的 csv,然后将今天的文件重命名为 old.csv。
  • 类似 old.csv”或完全“old.csv”?你需要在这里准确。另外,我认为我们中的任何人都没有误解您所说 的内容,尽管它可能仍然不是您真正的意思。如果您始终将新文件另存为“old.csv”,那么它将始终是您要删除的文件的名称,因此无需搜索整个目录。

标签: php rename file-rename


【解决方案1】:

我不确定我是否完全理解了这个问题,例如:

rename($file, 'old.csv');

如果 $file 是 new20200308.csv 将变为 old.csv

【讨论】:

  • 但是文件名每天都在变化,所以我需要重命名每个 csv。不仅是new20200308.csv,因为下一个是20200309.csv
  • 但是使用glob 你会得到你想要编辑的文件。这个脚本也每天运行吗?
猜你喜欢
  • 2021-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 2012-10-24
  • 2019-12-24
  • 2014-04-14
相关资源
最近更新 更多