Der Fehler, dass ich, wenn ich versuche, es zu laden ist dieser Fehler:Warum kann nicht mein Bild hochgeladen und wenn es abrufen das Bild leer ist
Warning: file_get_contents(MTUtODAwLmpwZw==): failed to open stream: No such file or directory in C:\xampp\htdocs\miniproject\imageupload\image.php on line 24
Auch habe ich bereits ein eingefügtes Bild in meinem Datenbank und wenn es abgerufen wird, zeigen Sie nur ein Plank-Bild.
Dies ist mein Code
<?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>
** Stop ** mit veraltet mysql_ * 'API. Verwenden Sie 'mysqli_ *' oder 'PDO' mit vorbereiteten Anweisungen – Jens
Anzeige: Die Bilddaten sind nicht base64, verwenden Sie:' base64_encode() '. –
@KIKOSoftware - Er base64 codiert tatsächlich das Bild, bevor er es in der DB speichert. –