我正在处理如下所示的php代码,其中列出了 $ src_dir 中存在的所有 mp4文件。
$src_dir = ('\\\ABCD-ST-001\Audio_Test\podcast\incoming_folder');
$mp4_files = preg_grep('~\.(mp4)$~', scandir($src_dir));
print_r(array_values($mp4_files)); // LineA
这是从 Line#A 获得的 O / P :
Array ( [0] => 36031P.mp4 [1] => hello.mp4 )
现在,我在php代码中使用了以下脚本,以便将这些mp4文件插入Podcast_Export
表中。
foreach ($mp4_files as $value) {
$db->exec(SELECT COUNT(*) FROM Podcast_Export WHERE House# = '".$value."' AND status = 'GO');
$db->exec("INSERT INTO Podcast_Export ('House_number', 'Status') VALUES ('".$value."', 'Go')"); // Line B
}
上面的脚本在Podcast_Export
表内添加了以下数据:
36031.mp4 Go
hello.mp4 Go
问题陈述:
我现在面临的问题是,当我刷新页面时,再次运行LineB上的脚本,并在Podcast_Export
表内再次添加 $ src_dir 中存在的mp4文件。如下所示:
36031.mp4 Go
hello.mp4 Go
36031.mp4 Go
hello.mp4 Go
它应该以一种方式工作,一旦在 $ src_dir 中出现了新文件,然后就应该在Podcast_Export
表中添加它。让我们假设新文件是 hxz210.mp4 ,然后是Podcast_Export
表中的内容
应该是:
36031.mp4 Go
hello.mp4 Go
hxz210.mp4 Go
答案 0 :(得分:0)
您的选择很好,但是您需要将结果存储到一个变量中,例如:
$count = $db->querySingle("SELECT COUNT(*) as count FROM Podcast_Export WHERE House_number = '".$value."'");
if($count <= 0){
$db->exec("INSERT INTO Podcast_Export (House_number,Status)
VALUES ('".$value."', 'Go')");
}
使用querySingle
获取SQLite中的行数。
请注意,我在此处将House#
更改为House_number
,并删除了AND status = 'GO'
子句,因为它们全部具有GO
状态。