如何检查目录中的音频文件是否与数据库中存储的文件名匹配

How to check that the audio files in a directory match the file names stored in a database

我有一个包含音频文件路径的数据库。此数据存储在名为 Language1 的列中。实际的音频文件存储在名为 Language1 的文件夹中。

我想检查数据库中的路径是否与目录中的文件名匹配。

文件夹中有前 10 个文件,但代码无法识别。我希望代码读取数据库中的每一行并将其与文件夹中的文件名进行比较。

<?php
$servername = "localhost";
$user = "root";
$password = "root";
$dbname = "xxxx";

// Create connection
$conn = mysqli_connect($servername, $user, $password, $dbname);
$query = "SELECT Language1 FROM Table";
$result = mysqli_query($conn, $query);

while($row = mysqli_fetch_array($result))
{

$path = "/file/to/path/English/$Language1"; 
$Language1 = $row['Language1'];

if (file_exists($path)) 
    { 
 echo "The file $Language1 exists<br/>";
        } 
else
    { *
    echo "The file $Language1 does not exist<br/>";
    } 
} 
mysqli_close($conn);
?>

首先生成每个文件的相对文件路径,从您的工作目录到上传音频文件的文件夹。然后使用 file_exists 函数检查该文件是否存在。您可以将每个文件的状态更新到 table.

中的一列

http://php.net/manual/en/function.file-exists.php.

已编辑 - 示例代码

$username = "Name";
$result = mysqli_query($connection, $sql);
while ($row = mysqli_fetch_row($result)) {
    $filename = $row['filename'];
        $path = "/folder/".$username."/english/". $filename; 
    if (file_exists($path)) { 
        echo "The file $filename exists"; 
    } else { 
        echo "The file $filename does not exist";
    } 
    }