如何设置输入类型文件的值并存储在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
只是一个字符串,您的输入正在寻找一个文件。您的 <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次时