Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将图像名称输入到数据库中,或者甚至需要它?_Php - Fatal编程技术网

Php 将图像名称输入到数据库中,或者甚至需要它?

Php 将图像名称输入到数据库中,或者甚至需要它?,php,Php,这是一个由两部分组成的问题,尽管我的第一个难题是如何将文件名发布到数据库,或者我是否需要它来调用正确的图像 目前,我有一个评论部分,是张贴和得到正确的。我有一个图像正在移动到正确的目录文件夹。我没有的是文件名发布到数据库中,这样我就可以调用它从目录中提取正确的图像。每次我尝试向数据库中添加要发布的内容时,我都会收到一个错误,因为我的图像索引未定义 其次,我希望能够调用数据库中的图像名称,将该图像与文章一起拉入缩略图。我也不完全确定如何做到这一点 首先,我的问题是,既然已将图像正确移动到文件夹中,

这是一个由两部分组成的问题,尽管我的第一个难题是如何将文件名发布到数据库,或者我是否需要它来调用正确的图像

目前,我有一个评论部分,是张贴和得到正确的。我有一个图像正在移动到正确的目录文件夹。我没有的是文件名发布到数据库中,这样我就可以调用它从目录中提取正确的图像。每次我尝试向数据库中添加要发布的内容时,我都会收到一个错误,因为我的图像索引未定义

其次,我希望能够调用数据库中的图像名称,将该图像与文章一起拉入缩略图。我也不完全确定如何做到这一点

首先,我的问题是,既然已将图像正确移动到文件夹中,如何将其发布到数据库中

HTML:

<?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检索。