我正在构建一个表单,允许用户将图像上传到数据库中,作为眼科医生应用程序的一部分。我的问题涉及包含这些图像信息的表格(shot
表格),该表格的列是:
ID | Visit_ID | Patient_ID | Img_Filename | Shrunk_img_filename | Subdir | SubSubDir|
因此该表仅存储有关图像的信息。图像文件以特定约定命名。例如,列0000288964r.jpg
中的文件名是什么Img_filename
样的。下一列中的文件名Shrunk_img_filename
相同,除了r
替换为 ans
并且格式为.bmp
. 例如,0000288964s.bmp
。文件名中的这些数字来自ID
该表的列,根据数字的位数,在开头添加可变数量的零ID
。
另外,在我的表单中,我有一个文件上传输入,用户可以在其中选择要上传的图像。这就是我的问题出现的地方..
我想使用相同的文件名,如上所示,这些文件名存储在我的数据库中,作为这些图像上传到我的服务器时的文件名,但我不手动浏览数据库查找下一个可用的图像的 ID 并在选择要上传的图像时重命名图像。
我真的不知道这是否可能,但我很想听听有关如何使这项工作或任何解决方法的任何想法。谢谢。我将在下面包含我的代码(由于用于创建我的文件名的 2 个 CASE 语句,我的插入语句非常长,所以我只包含了它的 jist)
<?php
include('db.php');
if (isset($_FILES['myfile']) && isset($_GET['id']))
{
$filename = $_FILES['myfile']['name'];
$filetype = $_FILES['myfile']['type'];
$filesize = $_FILES['myfile']['size'];
$filetmp = $_FILES['myfile']['tmp_name'];
$fileerror = $_FILES['myfile']['error'];
$id = $_GET['id'];
if ( $fileerror > 0){
die("Error Uploading File Code $fileerror.");
}
else
{
move_uploaded_file($filetmp,"C:/wamp/www/vixer/images/".$filename);
echo "Upload Complete!";
}
$sqlvisit="INSERT INTO shot (VISIT_ID, PATIENT_ID, IMG_FILENAME, SHRUNK_IMG_FILENAME, SUBDIR, SUBSUBDIR, IMG_FILE_FORMAT, EYE) SELECT (SELECT max(ID) from visit where visit.patient_id =" . $id ."), " . $id . ", (SELECT CASE blah blah), (SELECT CASE blah blah), '9', '1', '124', '0' FROM SHOT WHERE shot.patient_id = " . $id . "";
mysql_query($sqlvisit);
}
?>
<form id="form3" action="" method="post" enctype="multipart/form-data" style="display:none;width:300px;background-color: #FFFFFF;">
Upload Image(s)..<input type="file" name="myfile"><br />
<input type="submit">
</form>