如何在base64中上传和转换图像,而不将图像存储在php中


how to upload and convert image in base64 without storing the image in php

我可以上传图像并将其保存在任何位置,然后在base64中转换该图像。但是我们如何在不保存的情况下转换base64中的图像。有什么解决方案吗?

$photoTmpPath = $_FILES['filename']['tmp_name'];
$data = file_get_contents($photoTmpPath);
$base64 = base64_encode($data);

如果你想测试:

header('Content-type: image/png');
echo $data;
exit;

如果您有一个通过$_POST管理图像上传的Web窗体。你可以用这个。。

<?php 
if(isset($_POST)){
    $name = $_FILES['file']['name']; 
    $size = $_FILES['file']['size']; 
    $type = $_FILES['file']['type']; 
    $tmp_name = $_FILES['file']['tmp_name']; 
    if(isset($name)){ 
      if(!empty($name)){ 
          $target_path = basename( $_FILES['file']['name']);
          if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) {
             echo "The file ".  basename( $_FILES['file']['name'])." has been uploaded";
             $im = file_get_contents($_FILES['file']['name']);
             $imdata = base64_encode($im);   
             var_dump($im);
             unlink($_FILES['file']['name']);
          }
        }else{ 
            echo 'Please choose a File'; 
        } 
    }
}
?> 
<form method="POST" enctype="multipart/form-data"> 
<input type="file" name="file"> 
<input type="submit" value="Upload"> 
</form>