画像ファイル名を 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>");
}
}
}
}
どんな助けでも大歓迎です!前もって感謝します!