我在网站上传图片时遇到了一个小问题。我允许用户上传图片,但它可能会让服务器实际执行命令需要一些时间。
首先,它必须确保目录中不存在具有相同名称的文件,如果是,则使用unlink($ pictureLocation)将其删除; 然后,它使用imagejpeg($ dst_r,$ pictureLocation,$ jpeg_quality)创建新图像;
然而,当我试图看到图片(重定向到网站)时,它显示旧的,即应该被删除的那个!并且需要一些刷新才能正确显示正确的图片。有些东西我没有到达......:/
我在本地服务器和prod服务器上遇到同样的问题,但是生产服务器需要更长的时间来显示正确的图片,而在本地刷新就足够了。
我检查了unlink函数的输出,它'返回true,所以我猜测一切都很顺利。
我想确保在流程完成之前不进行重定向,否则用户会认为它不起作用... 有什么想法吗?
答案 0 :(得分:0)
似乎可能是由于缓存问题。尝试将这些行添加到您的html中以防止页面缓存
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate"/>
<meta http-equiv="Pragma" content="no-cache"/>
<meta http-equiv="Expires" content="0"/>
另外,如果我是你,我会考虑插入带有新文件名的文件(可能是第29_05_01_07_30picture.png行),而不是检查&amp;在数据库中更新。
move_uploaded_file($_FILES["file"]["name"],"upload/" .date("d_m_h_i_s"). $_FILES["file"]["name"]);