实现文件名称与数据库匹配(详见正文)

数据库有10条数据,字段为ID、title(标题)、filepath(附件路径),附件路径字段值为空,现有10个类似(标题)的文件,需要将10个文件与数据库中10条数据分为两列输出页面,标题相似度达到80%并对应上,最后获取路径入库

2个回答

cv_dra
cv_dra 谢谢,不过好像不是相同 应用php实现
2 年多之前 回复

<?php
//假设10个文本保存路径在$path中
$path = '/file/';
$files = scandir($path);
//删除文件中.和..
array_splice($files,0,2);
//html页面输出变量;
$html = "title filepath percent
";
//假设数据库信息如下,打开数据库连接
$con = mysql_connect('localhost','root','root');
mysql_select_db('database_name');
$sql = 'select id,title from tab_name';
$result = mysql_query($sql);

//循环读取title
while($tem = mysql_fetch_assoc($result)){
$count = count($files);
$max = 0;//接收最大百分比
$j = 0;//接收最大百分比文件下标
for ($i=0; $i < $count; $i++) {
similar_text($tem['title'], $files[$i], $percent);
if($max < $percent){
$max = $percent;
$j = $i;
}
}
//判断如果最大百分比大于80,则文件路径存入对应字段
if($max >= 80){
$filepath = $path . $files[$j];
$id = $tem['id'];
$sql = "update tab_name set filepath = $filepath where id = $id";
mysql_query($sql);
//拼接和html展示数据
$html .= $tem['title'] . ' ' . $filepath . ' ' . $max .'%
';
}
}
echo $html;
//遗留问题,html页面只输出大于80%的匹配列,最大匹配可能重复出现

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问