我创建了一个上载图像文件的表格。所有这些详细信息的文件路径,文件名,文件用户和图像数据都编码为Base64字符串,并将其保存在数据库中。编码文件保存在单独的文件夹中。当我从数据库中获取图像数据并解码图像数据并将其保存在另一个文件夹中并从该文件夹中显示它时。但我不知道为什么它不显示
预先感谢
<?php
session_start();
include_once 'dbconnect.php';
$ename = base64_encode($_SESSION["email"]);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>File Upload</title>
</head>
<?php
include_once 'adminheader.html';
?>
<style type="text/css">
.bg-info {
background-color: #7493a2;
}
</style>
<body>
<div class="container">
<form class="form-horizontal" method="POST" action="upload.php" enctype="multipart/form-data">
Select Image File to Upload:
<input type="file" name="file" class="form-control" />
<input type="submit" name="submit" value="Upload" class="btn btn-info"/>
</form>
</div>
<?php
$statusMsg = '';
if(isset($_POST["submit"])){
$targetdir = "Upload/";
$fileName = $_FILES["file"]["tmp_name"];
$fname = basename($_FILES["file"]["name"]);
$filePath = realpath($_FILES["file"]["tmp_name"]);
// echo $filePath;
$targetFilePath = $targetdir.$fname;
//echo $targetFilePath;
$img=file_get_contents($filePath);
//echo $img;
$imgdata=base64_encode($img);
//echo $imgdata;
//$decryptedfile="decrypted/".$fname;
//$imgdecode=base64_decode($imgdata);
// $success = file_put_contents($decryptedfile, $imgdecode);
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
if(isset($_POST["submit"]) && !empty($_FILES["file"]["name"])){
// Allow certain file formats
$allowTypes = array('jpg','png','jpeg','gif','pdf');
if(in_array($fileType, $allowTypes)){
$filname = base64_encode($fileName);
$filpath = base64_encode($targetFilePath);
//echo $filname;
//echo $filpath;
//echo base64_decode($ename);
// Upload file to server
//if(move_uploaded_file($targetFilePath,$imgdata)){
if(file_put_contents($targetFilePath,$imgdata)){
$sql="INSERT into upld_file
(filename,filepath,fileuser,imgdata)
values ('$filname','$filpath',
'$ename','$imgdata')";
//echo $sql;
$insert = mysqli_query($conn,$sql);
//echo $filname;
//echo $filpath;
// echo $ename;
if($insert){
$statusMsg = "The file ".$fname. " has been uploaded successfully.";
}else{
$statusMsg = "File upload failed, please try again.";
}
}else{
$statusMsg = "Sorry, there was an error uploading your file.";
}
}else{
$statusMsg = 'Sorry, only JPG, JPEG, PNG, GIF, & PDF files are allowed to upload.';
}
}else{
$statusMsg = 'Please select a file to upload.';
}
}
echo $statusMsg;
//echo"<script>window.location='upload.php';</script>";
?>
<?php
$query = "SELECT imgdata
FROM upld_file
WHERE fileuser='$ename'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_assoc($result)){
//echo $image;
$imgencode=$row["imgdata"];
//echo $imgencode;
$imgdecode=base64_decode($imgencode);
//$filename=base64_decode($row["filename"]);
$decryptedfile="decrypted/".$fname;
// echo $decryptedfile;
$success = file_put_contents($decryptedfile, $imgdecode);
?>
<img src="<?php echo $decryptedfile ?>" width="150px">
<?php
}
}
?>
<body>
</html>
```
[![enter image description here][1]][1]
[1]: https://i.stack.imgur.com/2ThMC.png