眼科医向けのアプリの一部として、ユーザーが画像をデータベースにアップロードできるようにするフォームを作成しています。私の問題は、これらの画像に関する情報を含むテーブル (shot
テーブル) に関するものです。このテーブルの列は次のとおりです。
ID | Visit_ID | Patient_ID | Img_Filename | Shrunk_img_filename | Subdir | SubSubDir|
したがって、テーブルには画像に関する情報のみが保存されます。イメージ ファイルには、特定の規則に従って名前が付けられます。たとえば、列0000288964r.jpg
のファイル名は次のようになります。Img_filename
次の列のファイル名は、が に置き換えられ、形式がであるShrunk_img_filename
ことを除いて同じです。たとえば、. ファイル名のこれらの数字は、この表の列から派生したもので、数字の桁数に応じて可変数のゼロが先頭に追加されます。r
s
.bmp
0000288964s.bmp
ID
ID
また、私のフォームでは、ユーザーがアップロードする画像を選択するファイルアップロード入力があります。これが私の問題が混ざり合うところです..
上記のように、これらの画像がサーバーにアップロードされるときに、これらの画像のファイル名としてデータベースに保存されているのと同じファイル名を使用したいのですが、手動でデータベースを調べて、次に利用可能なものを見つけます画像の ID と、アップロードする画像を選択するときに画像の名前を変更します。
これが可能かどうかは本当にわかりませんが、これを機能させる方法や回避策についてのアイデアを聞きたいです。ありがとう。以下にコードを含めます(ファイル名の作成に使用された2つのCASEステートメントにより、insertステートメントがとてつもなく長いので、その要旨を含めました)
<?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>