php*_*eak 4 php upload file tmp
我想在用户将图像上传到服务器之前向用户显示图像,以确保该图像是用户想要上传的图像.
我已经尝试过这样做$_FILES['name']['tmp_name']并把它放在标签中,但没有任何反应.
<form action='' method='POST' enctype="multipart/form-data">
<header class='pageHeading'>Kop afbeedling toevoegen</header>
<section class='body'>
<div class='inputFrame'>
<img src="<?php if(isset($_FILES['image']['tmp_name'])){echo $_FILES['image']['name'];}?>"/>
<div class='input'>
<div class="cellFrame">
<div class="inputHeading">Afbeelding uploaden</div>
<div class="frame">
<div class="frameAlign">
<div class="displayFlie">
<input type='file' name='image'/>
</div>
<button name='upload' class='btnUpload btn'>Upload</button>
<div class="clr"></div>
</div>
</div>
</div>
</div>
<div class="clr"></div>
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
简单的解决方案 - 抓取您的图像数据转换为base64并在当前视图中输出,这样您就不需要将当前的tmp图像复制到公共位置
$imageData = file_get_contents($_FILES['image']['tmp_name']); // path to file like /var/tmp/...
// display in view
echo sprintf('<img src="data:image/png;base64,%s" />', base64_encode($imageData));
Run Code Online (Sandbox Code Playgroud)
您是否尝试过直接从 /tmp 文件夹读取文件?当然,这只能发生在上传之后,而不是之前。因此,您必须在将文件移动到目标文件夹之前、上传之后立即执行此操作。
readfile($_FILES["name"]["tmp_name"]);
Run Code Online (Sandbox Code Playgroud)