【发布时间】:2018-08-18 22:08:20
【问题描述】:
我有一些 PHP 代码用于在 CSV 文件的第一个“列”中搜索文件名,如果找到,则将其“删除”到“已删除”文件夹中。
我的代码一定有问题,因为if (in_array 在数组中没有看到与$fileNoExtension 相同的名称。我在底部添加了行进行检查,然后我得到回显“[ImportantFile] apparantly is not the same as [ImportantFile]???”
我已经取出了从$thisFileWithExtension 获取fileNoExtension 的代码,这样它就不会碍事了。
foreach ($fileArray as $FileWithExtension) {
if (file_exists('PHP/ManualRemove.csv')) {
$csvManualDemos = fopen("PHP/ManualRemove.csv", "r");
while ($csvRows = fgetcsv($csvManualRemove)) {
if (in_array($fileNoExtension, $csvRows)) {
echo "Found on manual remove list. Removed.";
rename("$fileWithExtension", "Removed/$fileWithExtension");
continue;
} else
echo "\n [$fileNoExtension] apparantly is not the same as [$csvRows[0]]???\n";
}
}
}
我确定我在某处有一些代码错误,但我无法解决!非常感谢:D
【问题讨论】:
-
$csvManualDemos;那是错字吗?应该是$csvManualRemove吧? -
请在您的代码中添加一个示例,说明变量
$fileNoExtension包含的内容以及PHP/ManualRemove.csv包含的内容(即,应该包含$fileNoExtension的行。 -
是的。最好了解 CSV 文件中的内容以及 $FileWithExtenstion 的内容。
-
对我的错别字表示歉意,它们是在我编辑代码以在此处发布时发生的,我向您保证没有错别字!我发现 (in_array) 只缺少第一行,其余时间它可以看到那里有什么。这样做有什么原因吗?
标签: php arrays while-loop fgetcsv