在我的php表单中发送图片,它会保存到我的服务器上,在action.php页面上显示。现在当我尝试:
echo '<div id="image"><img src="'.$target_path.'" width="280" height="280"></div>';
代码本来可以正常工作...但如果我在php代码的末尾添加unlink($target_path);
,即使它在显示图像后被删除,图像也无法显示...
所以问题是,如何同时显示图像并将其删除,以避免服务器堆积用户图片?
在我的php表单中发送图片,它会保存到我的服务器上,在action.php页面上显示。现在当我尝试:
echo '<div id="image"><img src="'.$target_path.'" width="280" height="280"></div>';
代码本来可以正常工作...但如果我在php代码的末尾添加unlink($target_path);
,即使它在显示图像后被删除,图像也无法显示...
所以问题是,如何同时显示图像并将其删除,以避免服务器堆积用户图片?
$contents = file_get_contents($file);
$base64 = base64_encode($contents);
echo '<div id="image"><img src="data:image/jpg;base64,'.$base64.'" width="280" height="280"></div>';
使用$file变量而不是move_uploaded_file()
等函数,将$_FILES[...]['tmp_name']
赋值给$file变量。
switch (strtolower($extension)) { case "jpg": case "jpeg": $mime = "image/jpg"; break; case "png": $mime = "image/png"; break; case "...": $mime = "..."; }
- bwoebibreak; case "...": ...;
,$extension是从哪里来的?$base64呢? - Laurent$extension
是你的文件名的最后一部分吧?...
是为了告诉你可以继续为其他情况编写 switch 语句。 - bwoebi通过创建一个小脚本来获取图像文件名,并在检索后删除它,您可以实现此目标:
<?php
$file = image_file_from_parameter($_GET['image']);
headers_for_file($file);
readfile($file);
unlink($file);
在您的HTML输出中,然后链接到该脚本:
<img src="path/to/image.php?image=893sudfD983D" />
image_file_from_parameter
е’Њheaders_for_file
... - bwoebiimg src
回显图像的URL时,你只是向浏览器发送图像的URL,而不是实际的图像数据。如果你想通过这种方法查看图像,则需要将图像保留在服务器上。