在上传前,是否有可能显示一个位于临时文件夹中的图片?
问题出现的原因:在上传图片之前,是否可以在tmp文件夹中显示图片。
解决方法:将图片数据转换为base64格式,并在当前视图中输出,这样就不需要将当前tmp文件夹中的图片复制到公共位置。
示例代码:
$imageData = file_get_contents($_FILES['image']['tmp_name']); // 图片路径,如 /var/tmp/... // 在视图中显示 echo sprintf('', base64_encode($imageData));
以上代码将图片数据转换为base64格式,并在当前视图中以base64格式的图片显示出来。这样就不需要将tmp文件夹中的图片复制到公共位置了。
问题原因:在上传图片时,图片会被先保存在服务器的临时文件夹中,而如果需要在上传之前预览该图片,则需要通过读取临时文件夹中的图片,并使用正确的头文件输出。
解决方法:创建一个脚本来读取临时文件夹中的图片,并使用正确的头文件输出。下面是一个示例代码:
header('Content-Type: image/x-png'); readfile($_FILES['name']['tmp_name']); exit();
上述代码中,首先设置了正确的图片头文件类型,然后使用readfile函数读取临时文件夹中的图片,并通过exit函数终止脚本的执行。
通过以上方法,就可以在上传图片之前预览临时文件夹中的图片了。