ユーザーが画像をサーバー上のフォルダーにアップロードし、そのタグをデータベースにアップロードして、画像をタグで検索し、選択した画像に接続されているタグのリストを表示できるようにするフォームをセットアップしようとしています. テキストの代わりに画像だけを使用して、stackoverflow のようなタグ システムを実行しようとしています。これは私がこれまでに持っているものです:
<form action="insert.php" method="post">
<p>
<label for="file">Filename:</label>
<input type="file" name="imageName" id="imageName">
<br />
<label for="tags">Tags</label>
<textarea name="tags" id="tags" cols="45" rows="5"></textarea>
<input type="hidden" name="member" id="member" />
<br />
<input type="submit">
</p>
</form>
それがフォームで、これがphpです
<?php
$con = mysql_connect("localhost");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("images", $con);
$sql="INSERT INTO images (imageName, tags, member)
VALUES
('$_POST[imageName]','$_POST[tags]','$_POST[member]')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
$allowedExts = array("jpg", "jpeg", "gif", "png");
$extension = end(explode(".", $_FILES["file"]["name"]));
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/png")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 200000000000000000000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br>";
echo "Type: " . $_FILES["file"]["type"] . "<br>";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>