将图像上传到数据库未定义索引
我让表单直接在数据库中存储图像,现在我想学习如何将它们存储在一个文件夹中,并将数据存储在路径中。将图像上传到数据库未定义索引
在这一刻我得到这个错误Notice: Undefined index: uploaded_file in
,我真的不明白为什么。请一些F1 :) HTML表单:
<form action="ad_cont.php" method="POST" class="add_contact" name="add_contact" enctype="multipart/form-data">
<input type="file" name="uploaded_file" multiple required>
<input type="submit" value="Upload" class="button">
</form>
php脚本:
$img_path = "images/avatar";
$img_path = $img_path . basename($_FILES['uploaded_file']['name']);
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $img_path)) {
mysqli_query($conn,"INSERT INTO `uploads` (filename,path)
VALUES ('".$_FILES['uploaded_file']['tmp_name']."','".$img_path."')");
您必须添加enctype='multipart/form-data'
到表单文件上传工作。
<form action="ad_cont.php" method="POST" class="add_contact" enctype="multipart/form-data" name="add_contact">
<input type="file" name="uploaded_file" multiple required>
<input type="submit" value="Upload" class="button">
</form>
这样改变php代码。
$img_path = "images/avatar";
$img_path = $img_path . basename($_FILES['uploaded_file']['name']);
$img_name= $_FILES['uploaded_file']['tmp_name'];
if(move_uploaded_file($_FILES['uploaded_file']['tmp_name'], $img_path)) {
mysqli_query($conn,"INSERT INTO `uploads` (filename,path)
VALUES ('".$img_name."','".$img_path."')");
尝试更改您的表单的代码,并希望它会工作。
没错,只是纠正了它,但我仍然得到那个未定义的索引。 – SilenceIsGolden
我认为这是因为您在移动后在查询中再次使用$ _FILES ['uploaded_file'] ['tmp_name']。尝试将它存储在一个可用的数据库中,并使用它来插入数据库 – AeJey
@AeJey,你的
要上传文件到服务器,您需要提及enctype='multipart/form-data'
在<form>
<form enctype="multipart/form-data" action="ad_cont.php" method="POST" class="add_contact" name="add_contact" >
..
..
</form>
缺少加密类型。 –
enctype =“multipart/form-data” – Xatenev