停止多个会话同时访问同一文件

发布于 2024-09-05 12:58:20 字数 414 浏览 3 评论 0原文

是否可以在 GD 库访问文件时锁定文件以阻止其打开?

我希望实现的目标类似于数据库“可串行”隔离级别...我想确保一次只有一个会话/用户可以访问图像以阻止“脏读”。

我的应用程序允许用户将选择的图像添加到更大的图像中。

例如

  • 大图是空的
  • Raj & Janet 上传他们的图像
  • Raj 的会话打开大图像。
  • 1 毫秒后 Janet 的会话 打开大图。
  • Raj 的会议添加了他的图像和 保存大图像
  • Janet 会话 1 毫秒后 添加他的图像并保存其版本 的大图像。
  • 结果Raj的形象就没有出现在 最终图像为珍妮特版本 覆盖它。

我希望这已经足够清楚了。

Is it possible to lock a file to stop it being opened while GD library is accessing it?

What I am looking to achieve is similar to a database 'serialzable' level of isolation... I want to ensure that only one session/user can access an image at a time to stop a 'dirty read'.

My application allows users to add an image of choice to a bigger image.

for example

  • the big image is empty
  • Raj & Janet upload their images
  • Raj's session opens the big image.
  • 1 ms later Janet's session
    opens the big image.
  • Raj's session add's his image and
    saves the big image
  • 1 ms later Janet's session
    adds his image and saves its version
    of the big image.
  • As a result Raj's image is not in
    the final image as Janet's version
    overwrote it.

I hope that makes it clear enough.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

却一份温柔 2024-09-12 12:58:20

查看 flock。您可以锁定正在使用的文件,也可以在文件系统中的其他位置创建一个“锁定文件”,供所有脚本检查。

Check out flock. You can either lock the file you're working with, or create a "lock file" somewhere else in the filesystem which all your scripts check for.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文