Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示用户输入图像而不将其保存到文件夹_Php - Fatal编程技术网

Php 显示用户输入图像而不将其保存到文件夹

Php 显示用户输入图像而不将其保存到文件夹,php,Php,如何在php中显示图像并将其作为输入参数传递到可执行文件中,而不将图像保存在文件夹中。用户将图像路径作为输入,当我将图像保存到一个文件夹中时,我正在使用ajax显示选中的图像。它可以工作,但如果不将图像保存到文件夹中,我如何显示图像?我现在的代码是 move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]); //echo "Store

如何在php中显示图像并将其作为输入参数传递到可执行文件中,而不将图像保存在文件夹中。用户将图像路径作为输入,当我将图像保存到一个文件夹中时,我正在使用ajax显示选中的图像。它可以工作,但如果不将图像保存到文件夹中,我如何显示图像?我现在的代码是

     move_uploaded_file($_FILES["file"]["tmp_name"],"upload/".$_FILES["file"]["name"]);
                        //echo "Stored in "."upload/".$_FILES["file"]["name"];
                        echo "<img src='upload/".$_FILES["file"]["name"]."' class='preview'>";
move_-upload_文件($_-FILES[“file”][“tmp_-name”],“upload/”$_-FILES[“file”][“name”]);
//echo“存储在“.upload/”$\u文件[“文件”][“名称”];
回声“;
我试过了

   <img src=$_FILES["file"]["tmp_name"]. class='preview'> 


但它不起作用。由于我将有成千上万的用户输入,我不想保存它。是否有任何优化和有效的方法来执行此操作?

src
属性“/>
我认为,不保存图像就无法显示图像。您可以尝试将图像保存在服务器端的临时文件夹中,并定期清理此文件夹以避免占用大量空间。

我认为不保存图像就无法显示图像

如果希望以后输出,则需要将文件保存到文件系统或内存中

这里的问题是$_文件只存在于图像发送到的脚本中。因此,当您启动另一个img源的http请求时,php不再知道您试图读取的文件是什么

您需要一种方法来告诉http请求读取哪个图像

您可以做的一件事是,您可以将文件保存在客户端可访问的位置,然后在输出后让php将其删除。因此,一旦输出图像,它将被删除,并且不再存在于文件系统中

另一种方法是直接将内容写入httpresponse,从内存中获取图像

你可以这样做

$imagedata = file_get_contents($_FILES["file"]["tmp_name"]);
$base64 = base64_encode($imagedata);
当您显示图像标签时:

<img src="data:image/png;base64, <?php echo $base64; ?>" />
“/>
希望这些对你有帮助

$image            = file_get_contents($_FILES["file"]["tmp_name"]);
$enocoded_data    = base64_encode($image);
<img src="data:image/png;base64, <?php echo $enocoded_data    ; ?>" />