Php 将图像名称输入到数据库中,或者甚至需要它?
这是一个由两部分组成的问题,尽管我的第一个难题是如何将文件名发布到数据库,或者我是否需要它来调用正确的图像 目前,我有一个评论部分,是张贴和得到正确的。我有一个图像正在移动到正确的目录文件夹。我没有的是文件名发布到数据库中,这样我就可以调用它从目录中提取正确的图像。每次我尝试向数据库中添加要发布的内容时,我都会收到一个错误,因为我的图像索引未定义 其次,我希望能够调用数据库中的图像名称,将该图像与文章一起拉入缩略图。我也不完全确定如何做到这一点 首先,我的问题是,既然已将图像正确移动到文件夹中,如何将其发布到数据库中 HTML:Php 将图像名称输入到数据库中,或者甚至需要它?,php,Php,这是一个由两部分组成的问题,尽管我的第一个难题是如何将文件名发布到数据库,或者我是否需要它来调用正确的图像 目前,我有一个评论部分,是张贴和得到正确的。我有一个图像正在移动到正确的目录文件夹。我没有的是文件名发布到数据库中,这样我就可以调用它从目录中提取正确的图像。每次我尝试向数据库中添加要发布的内容时,我都会收到一个错误,因为我的图像索引未定义 其次,我希望能够调用数据库中的图像名称,将该图像与文章一起拉入缩略图。我也不完全确定如何做到这一点 首先,我的问题是,既然已将图像正确移动到文件夹中,
<?php
echo "<form method='POST' enctype='multipart/form-data' action='".setComments($conn)."'><br>
<input type='hidden' name='uid' value='Anonymous'>
<input type='hidden' name='date' value='".date('Y-m-d H:i:s')."'>
Select a file:<br><input type='file' name='image' id='image'><br<br><br>
Comment:<br> <textarea name='message'></textarea><br><br>
<button type='submit' name='commentSubmit'>Upload</button><br><br><br>
</form>";
getComments($conn);
?>
<?php
function setComments($conn) {
if (isset ($_POST['commentSubmit'])) {
$uid = $_POST['uid'];
$date = $_POST['date'];
$message = $_POST['message'];
$file_name = $_FILES['image']['name'];
$sql = "INSERT INTO comments (uid, date, message, images) values ('$uid','$date','$message','$file_name')";
$result = mysqli_query($conn, $sql);
}
}
if(isset($_FILES['image'])){
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size = $_FILES['image']['size'];
$file_tmp = $_FILES['image']['tmp_name'];
$file_type = $_FILES['image']['type'];
$tmp = explode('.', $file_name);
$file_ext = end($tmp);
$expensions= array("jpeg","jpg","png"."gif");
if(in_array($file_ext,$expensions)=== false){
$errors[]="extension not allowed, please choose a JPEG, GIF, or PNG file.";
}
if($file_size > 2097152) {
$errors[]='File size must be excately 2 MB';
}
if(empty($errors)==true) {
move_uploaded_file($file_tmp,"uploads/".$file_name);
echo "Successfully uploaded file!";
$sql = "INSERT INTO comments (uid, date, message, images) values ('$uid','$date','$message','$file_name')";
$result = mysqli_query($conn, $sql);
}else{
print_r($errors);
}
}
Write“上传/”$file\u name
到数据库。这应该是你的图像存储的地方。您还可以使用此代码进行SQL注入。您应该使用参数化查询。另外,“png”。“gif”
可能是一个打字错误。但是为什么将操作设置为setComments
?一旦页面加载,PHP就不可用。我是否将其写入VALUES中的insert语句中?是的,并将该列添加到要写入的列列表中。有关如何参数化,请参阅。首先,查询属于if
而不属于else
。这是因为你的打印错误。存储$file\u name
,而不是文件夹名称。可以在以后使用php检索。