我正在尝试将图像文件名存储到 SQL 数据库。文件名看起来像“ _p4_analyzed__07001447_20121003-4000096925_Class2_reg_EPI.png ”,我希望它只是“ Class2_reg_EPI.png ”。
我希望这条线能解决问题:$fileName = str_ireplace($casePath."/","", $file)
但不幸的是,当我运行它时,它仍然给我一个带有路径的长名称('_'下划线充当'/'?)
有关更多信息,请参见下面的代码:
$casePath=$path."/".$caseID."/Summary/slicesdir";
global $status;
// print("processImages case path:".$casePath."</br>");
$files = glob($casePath."/*.png");
$connection = getMySqlConnection();
$imageCount= 0;
for($i = 0; $i < count($files); $i++) {
$file = $files[$i];
$fileName = str_ireplace($casePath."/","", $file);
if(strripos($fileName, "grot") === false)
{
$imageCount ++;
//if exists
if(!doesImageExist($fileName, $patientID, $caseID)) {
$id = uniqid("", true);
$sql = "Insert Into images(id,patientid,caseid, image_name,comments,status) VALUES('".mysql_real_escape_string($id)
."','".mysql_real_escape_string($patientID)."','".mysql_real_escape_string($caseID)."', '".mysql_real_escape_string($fileName)."',NULL,".$status[0][0].")";
// print($sql."</br>");
mysql_query("START TRANSACTION", $connection);
$result = mysql_query($sql, $connection);
if($result) {
mysql_query("COMMIT", $connection);
// print("Image data inserted </br>");
} else {
mysql_query("ROLLBACK", $connection);
print("Image Data failed </br>");
}
}
}
}
任何帮助表示赞赏!提前致谢!