我尝试上传时收到的错误是这个错误:
警告:file_get_contents(MTUtODAwLmpwZw ==):无法打开流: 在......中没有该文件或目录 第24行的C:\ xampp \ htdocs \ miniproject \ imageupload \ image.php
此外,我已经在我的数据库中插入了一张图片,当它被检索时,它只显示一张木板图片。
这是我的代码
<?PHP
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);
?>
<html>
<body>
<form method="post" enctype="multipart/form-data">
<br/>
<input type="file" name="image"/>
<br/><br/>
<input type="submit" name="sumit" value="Upload"/>
</form>
<?php
if(isset($_POST['sumit']))
{
if (getimagesize($_FILES['image']['tmp_name'])==FALSE)
{
echo "Please select an image.";
}
else
{
$image= addslashes($_FILES['image']['name']);
$name= addslashes($_FILES['image']['name']);
$image= file_get_contents($image);
$image= base64_encode($image);
saveimage($name, $image);
}
}
displayimage();
function saveimage($name,$image)
{
$con= mysql_connect("localhost:3307", "root", "");
mysql_select_db("kstark",$con);
$qry="insert into images (name, image) values ('$name','$image')";
$result= mysql_query($qry,$con);
if ($result)
{
echo "<br/>Image uploaded.";
}
else
{
echo "<br/>Image not uploaded.";
}
}
function displayimage()
{
$con= mysql_connect("localhost:3307", "root", "");
mysql_select_db("kstark",$con);
$qry="select * from images";
$result= mysql_query($qry,$con);
while($row = mysql_fetch_array($result))
{
echo '<img height="300" width="300" src="data:image;base64,'.$row[2].'">';
}
mysql_close($con);
}
?>
</body>
答案 0 :(得分:1)
当您尝试检索内容时,需要使用tmp_name
而不是文件名。
if(isset($_POST['sumit']))
{
if (getimagesize($_FILES['image']['tmp_name'])==FALSE) {
echo "Please select an image.";
} else {
/* use the tmp_name rather than name here! */
$image=file_get_contents( $_FILES['image']['tmp_name'] );
$image=base64_encode($image);
$name=addslashes($_FILES['image']['name']);
saveimage($name,$image);
}
}