不能上传图片到mysql数据库
can't upload image to mysql database
这是我第一次尝试将图像上传到数据库。我有以下一段代码来上传图像到mysql数据库。但没有图片被上传到数据库。没有错误或警告。不知道是什么问题。如有任何帮助,不胜感激。
php:if(isset($_FILES['files'])){
$name=$_FILES['files']['name'];
if(!empty($name)){
if(!file_exists($name)){
$temp=$_FILES['files']['tmp_name'];
//move_uploaded_file($temp,getcwd().'/uploads/'.$name);
try{
$servername='localhost';
$username='root';
$password='';
$dbname='login';
$fp = fopen($temp, 'r');
$conn=new PDO('mysql:host=localhost;dbname=login',$username,$password);
$stmt = $conn->prepare("INSERT INTO images (image_name, image) VALUES (?, ?)");
$stmt->bindParam(1, $_FILES['file']['name']);
$stmt->bindParam(2, $fp, PDO::PARAM_LOB);
if($stmt->execute()){
echo 'its uploaded to database';
}
}catch(PDOException $e){
echo $e->getMessage();
}
}else{
echo 'file already exists';
}
}
}else{
echo 'select a file';
}
HTML和js:
<html>
<head>
<meta charset="utf-8">
<title>A Simple Page with CKEditor</title>
<!-- Make sure the path to CKEditor is correct. -->
<style>
#mydiv{
position: relative;
overflow: hidden;
width:80px;
height:30px;
background:crimson;
color:white;
text-align:center;
padding:auto;
border-radius:4px ;
border:1px solid black;
font-size:22px;
}
#files{
position: absolute;
top: 0;
right: 0;
margin: 0;
padding: 0;
font-size: 20px;
cursor: pointer;
opacity: 0;
filter: alpha(opacity=0);
}
</style>
</head>
<body>
<form action='file.php' method='POST' enctype='multipart/form-data'>
<div id='mydiv'>upload
<input type="file" id="files" name="files" multiple />
</div>
<input type='submit' value='submit' name='submit'>
</form>
<output id="list"></output>
<script>
function handleFileSelect(evt) {
var files = evt.target.files; // FileList object
// Loop through the FileList and render image files as thumbnails.
for (var i = 0, f; f = files[i]; i++) {
// Only process image files.
if (!f.type.match('image.*')) {
continue;
}
var reader = new FileReader();
// Closure to capture the file information.
reader.onload = (function(theFile) {
return function(e) {
// Render thumbnail.
console.log(theFile.type);
var div = document.createElement('div');
div.setAttribute('style','width:300px;height:300px;border:1px solid black;position:relative;');
div.innerHTML = ['<img style="width:300px;height:300px;" class="thumb" src="',e.target.result,
'" title="',escape(theFile.name), '"/>'].join('');
document.getElementById('list').insertBefore(div, null);
};
})(f);
// Read in the image file as a data URL.
reader.readAsDataURL(f);
}
}
document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</body>
</html>
检查您的PHP代码,很可能是$stmt->execute()
执行失败。
从PHP文档(http://php.net/manual/en/pdo.lobs.php)中,您需要以'rb'模式打开您的图像:
$fp = fopen($_FILES['file']['tmp_name'], 'rb');
,以便将其插入数据库
相关文章:
- 将地理编码结果转换为php变量以发布到mysql数据库
- 从MySQL数据库中获取输入数据需要两次页面刷新
- 如何使用PHP将javascript变量添加到mysql数据库中
- 在javascript中跳过周六和周日,并向mysql数据库中添加不重复的条目
- 当select标记触发onChange事件时,从mysql数据库加载html表
- 如何使用mysql数据库在node.js中登录API
- 如何比较两个MySql数据库
- 我应该如何使用node.js和导出来调用mysql数据库
- 输入框值将保存到 MySQL 数据库
- 我的地图数据's不会使用php存储在mysql数据库中
- 将Laravel5.0中的谷歌图表与mysql数据库中的数据集成
- 将本地MySQL数据库与PHP&谷歌地图上的JavaScript
- 尝试将js中的字符串写入mySql数据库时获取%%
- 当用户键入一封信时,如何使用ajax自动完成来显示MySQL数据库中的值
- 音差.无法访问远程 mysql 数据库
- 使用自动完成文本框从mysql数据库获取表记录并显示在文本字段中
- 复选框(JSP PAGE)并插入到mysql数据库
- 使用 Node-MYSQL 检索 MYSQl 数据库中最新的 X 个条目量?节点.js
- 如何从javascript访问MySql数据库的数据
- 如何在 JavaScript 函数中使用 MySQL 数据库数据