所以我找到了一些能够完美地将文件上传到目录的代码,但是我一直在努力尝试将多张照片一次上传到数据库。我需要一些帮助才能弄清楚,因为我在所有这些教程上都空了......
这是我的HTML代码:
<form method="post" action="test.php" enctype="multipart/form-data">
<p>File:</p>
<input type="file" name="file[]" id="file" >
<input type="submit" value="Upload">
</form>
这是我的数据库信息(测试数据库):
|| idtest (AI INT) || nameTesting (varchart 50) || testing (longblob)
这是'我的PHP到目前为止:
<?php
//Connect to DB
$conn = mysql_connect ('localhost', 'root', 'root');
if (!$conn){
die("Could Not Connect to MySQL!");
}
if(!mysql_select_db("test")){
die("Could Not Open Database:" . mysql_error());
}
echo "<p>Connected</p>";
foreach ($_FILES['file']['name'] as $f => $name) {
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $name);
$extension = end($temp);
if ((($_FILES["file"]["type"][$f] == "image/gif")
|| ($_FILES["file"]["type"][$f] == "image/jpeg")
|| ($_FILES["file"]["type"][$f] == "image/jpg")
|| ($_FILES["file"]["type"][$f] == "image/png"))
&& ($_FILES["file"]["size"][$f] < 2000000)
&& in_array($extension, $allowedExts))
{
if ($_FILES["file"]["error"][$f] > 0){
echo "Return Code: " . $_FILES["file"]["error"][$f] . "<br>";
} else {
if (file_exists("upload/" . $name)){
echo "<p>File Already Exists</p>";
} else {
move_uploaded_file($_FILES["file"]["tmp_name"][$f], "upload/" . uniqid() . "_" . $name);
}
}
} else {
$error = "Invalid file";
}
}
?>
我的最终目标是创建一个包含图库的动态页面创建器。因此,我正在寻找最佳方式为每个唯一页面上传多张照片,一次性无限量。我怎么能这样做?
提前致谢!
答案 0 :(得分:0)
您是否考虑过可能正在做的事情,但不是将照片移动到数据库,只需将链接存储到数据库中的文件目录即可。 (这也会阻止你的数据库爆炸)
e.g。有些东西......
else
{
move_uploaded_file($_FILES["file"]["tmp_name"][$f], "upload/" . uniqid() . "_" . $name);
mysql_query("INSERT INTO filelocation (FID,filelocation) VALUES (DEFAULT,'{$filepath}');
}
然后您可以在需要时动态选择文件路径位置