【问题标题】:Moving a file with a specific string in the filename [closed]移动文件名中具有特定字符串的文件[关闭]
【发布时间】:2011-07-08 08:46:25
【问题描述】:

我有一系列文件名中包含 Id 的 pdf。我还有一个 excel 文件,我可以从中读取和获取 ID。 我想遍历文件中的所有 id,并将文件名中包含其中一个 id 的任何 pdf 移动到另一个文件夹。

$file = fopen($_FILES['uploadfile']['tmp_name'],"r");
while (($data = fgetcsv($file, 15000, ",")) !== FALSE) {
   //need something that does it here
}

【问题讨论】:

  • Excel 文件还是 CSV 文件?格式是什么?而且,最重要的是……有什么问题?你试过什么?
  • 它是一个 csv,而 Pdfs 的末尾都有 Id。我的问题是无法读取每个 pdfs 文件名以将其与我的 ID 进行比较。
  • 您还没有向我们展示格式。 CSV 中的一行是什么样的? PDF 文件名是什么样的?从两个来源创建一个 ID 数组并执行交集。循环遍历结果和rename 的东西。
  • 检查我在答案及其手册中提到的glob。获取文件夹中文件名的例子很多
  • 我设法解决了这个问题。我知道文件名的第一部分是什么,所以我写了 $file = fopen($_FILES['uploadfile']['tmp_name'],"r"); while (($data = fgetcsv($file, 15000, ",")) !== FALSE) { if(file_exists('C:/windows/temp/input/string_' . $data[0])){ 重命名('C:/windows/temp/input/string_' .$data[0], 'C:/windows/temp/output/string_' .$data[0]); } }

标签: php file search move


【解决方案1】:

您可以使用rename 移动文件。要检查它是否存在,您可以使用file_exists。获取ID,将.pdf 附加到它并检查它是否存在。

检查和移动时需要提供文件路径

如果 Id 是文件名.. 即您的文件名是“id.pdf”。

要检查文件名中的 id(类似于模式匹配),请使用 glob 获取带有 .pdf 的目录中的所有文件,然后使用 foreachpreg_match 检查它是否存在

【讨论】:

  • 我认为这是从“excel文件”中提取ID的问题。
  • 哦..标题和代码有点让我困惑..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多