【问题标题】:php delete a file / check file existencephp删除文件/检查文件是否存在
【发布时间】:2014-09-13 07:19:47
【问题描述】:

我在我的网站上上传图片时遇到了一个小问题。我允许用户上传图片,但是服务器实际执行命令需要一些时间。

首先,它必须确保目录中不存在同名文件,如果存在,则使用 unlink ($pictureLocation) 将其删除; 然后,它使用 imagejpeg($dst_r, $pictureLocation,$jpeg_quality); 创建新图像

但是,当我尝试查看图片(重定向到网站)时,它显示的是旧的,应该是被删除的!并且需要几次刷新才能真正显示正确的图片。有些东西我在这里没有得到......:/

我在本地和生产服务器上遇到了同样的问题,但是生产服务器需要更长的时间才能显示正确的图片,而在本地立即刷新就足够了。

我检查了 unlink 函数的输出,它返回 true,所以我猜一切正常。

我想确保在该过程完成之前我不进行重定向,否则用户会认为它不起作用... 有什么想法吗?

【问题讨论】:

  • 生产服务器上使用的缓存

标签: php file-io


【解决方案1】:

似乎可能是由于缓存问题。尝试将这些行添加到您的 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 行),而不是在数据库中检查和更新。

move_uploaded_file($_FILES["file"]["name"],"upload/" .date("d_m_h_i_s"). $_FILES["file"]["name"]);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-02
    • 2011-09-17
    • 2016-02-10
    • 1970-01-01
    • 2011-05-14
    • 1970-01-01
    • 2023-04-04
    • 2012-04-18
    相关资源
    最近更新 更多