如何设置输入类型文件的值并存储在php中的数据库中?

Posted

技术标签:

【中文标题】如何设置输入类型文件的值并存储在php中的数据库中?【英文标题】:how to set value for input type file and store in data base in php? 【发布时间】:2018-03-13 17:51:16 【问题描述】:

我正在尝试生成插入查询,但未显示输入类型文件值。 我只想在照片中设置默认值。 请 这是代码

<?php $photo = "photo.jpg";?>
    <?php
        if (isset($_POST['submit'])) 
        $photo = $_FILES['photo']['name'];
        $photo_tmp = $_FILES['photo']['tmp_name'];
        echo "INSERT INTO items(photo)VALUES($photo)";
    
    ?>

    <form method="post">
    <input type="file" name="photo" id="photo" />
    <input type="submit" name="submit" id="submit" value="Submit" />
    </form>
    <script>
        var photo = document.getElementById('photo').value;
        photo = "<?php echo $photo; ?>";
        //alert(photo);
    </script>

【问题讨论】:

您需要在表单标签中添加enctype="multipart/form-data" 这里有很多问题。 $photo 只是一个字符串,您的输入正在寻找一个文件。您的 &lt;form 不会提交文件。您的 SQL 对注入开放且无效。我没有看到 JS 的原因。此外,您的 SQL 只是一个字符串,没有被执行,也没有使用mysqli 【参考方案1】:

将此添加到您的 php.ini 文件中。你不必用 jquery 来做。

$temp = explode(".", $_FILES["fileToUpload"]["name"]);
$target_dir = "../profilepics/";    
$target_final = $target_dir."photo".'.'.end($temp);

并继续将其作为$target_final 添加到db。

【讨论】:

以上是关于如何设置输入类型文件的值并存储在php中的数据库中?的主要内容,如果未能解决你的问题,请参考以下文章

如何分解数据库中的值并在选择查询中使用它?

如何计算表中的值并返回true,仅当使用php mysql找到该值5次时

如何在php中存储li标签的值并提交到数据库中

Vue中如何存储多个children的值并在父组件中执行一个函数

PHP记住cookie中的登录状态[重复]

如何遍历 2 个文件中的行,比较值并在满足条件时更新文件中的值?