繁体   English   中英

PHP将img插入数据库

[英]PHP Insert img to database

我想通过PHP查询将一些数据插入数据库。 我有这样的东西。

$zp='INSERT INTO `user`(`name`, `password`, `avatar`) VALUES ("'.$_POST['login'].'","'.$_POST['password'].'")';

我想输入第三个值

<img src="$file_name.$file_type"/>

但我不知道如何在PHP查询中编写此代码

您需要创建上传功能,并仅保存存储图像的路径。

在数据库中创建一个表,其中包含几个列名:文件路径,mime,大小。

一个小例子: index.php

if(isset($_FILES['file']['name'])){
    $name = $_FILES['file']['name'];
    $mime = $_FILES['file']['type'];
    $size = $_FILES['file']['size'];
    $tmp  = $_FILES['file']['tmp_name'];
    $path = 'uploads/' . $name; //maybe you should create the uploads/ folder before running the script

    if(move_uploaded_file($tmp, $path)){
        $db = new PDO('mysql:host=localhost;dbname=your_db_name','your_db_user','your_db_pass');
        $stmt = $db->prepare('INSERT INTO your_table_name_here SET filepath=?,mime=?,size=?');
        $stmt->execute([$path,$mime,$size]);
        echo 'File uploaded successfully!';
    }
}
?>
<form action="index.php" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" name="submit" value="Upload">
</form>

然后,您可以获取所有已保存的路径,并将它们添加为图像的src attrbuite。

//index.php
$stmt = $db->prepare('SELECT filepath FROM your_table_name_here');
$stmt->execute();
while($row = $stmt->fetch()){?>
    <img src="<?php echo $row['filepath']; ?>" alt="image">
<?php }

但是请注意,出于您的学习目的,这只是一个超级简单的脚本,并且此代码不得在生产模式下使用,因为这样做不安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM