【问题标题】:Why use sleep(1) in php?为什么在 php 中使用 sleep(1)?
【发布时间】:2011-07-23 07:42:34
【问题描述】:

我在 php 代码 sn-ps 中看到程序员有时会使用 sleep(1)。特别是,我正在查看一个执行图像处理的图像库,并且在代码的图像处理部分之后,他们将放置 sleep(1)。

这仅仅是因为他们想在服务器继续执行代码之前给服务器一秒钟来处理图像吗?如果我没有 sleep(1) 那里真的很重要吗?

编辑:
这是一些示例代码

$ToBMP = new ToBmp(); 

//======= convert jpg to bmp 
$ToBMP->image_info('myjpg.jpg'); 
$ToBMP->new_width  = 100; 
$ToBMP->new_height = 100; 
$ToBMP->imagebmp(time().".bmp"); 
sleep(1); 

//======== conevrt gif to bmp 
$ToBMP->image_info('myjpg.gif'); 
$ToBMP->new_width  = 200; 
$ToBMP->new_height = 200; 
$ToBMP->imagebmp(time().".bmp"); 
sleep(1); 

【问题讨论】:

  • 如果您将time() 更改为microtime(true),您可以删除sleep()`
  • 粘贴的代码有什么不同。 :)

标签: php sleep


【解决方案1】:

在这种情况下,我敢打赌这是因为文件保存为time().".bmp";如果第一次保存后脚本没有sleep(1),则第二张图片将具有相同的文件名,覆盖第一张。

【讨论】:

    【解决方案2】:

    进行图像处理后没有理由sleep。也许代码块中有一些文件系统操作?

    无论如何,我们必须看到确切的代码才能明确回答。

    更新

    好吧,在这种特殊情况下,确保保存的图像具有不同的文件名:)

    【讨论】:

    • 代码不是我的,但可以在 phpclasses.org 上公开查看。 phpclasses.org/package/…。发生的情况是代码采用 jpg 并将其转换并保存为位图。所以可能是主转换函数内部对 fwrite() 的调用。
    猜你喜欢
    • 2020-11-05
    • 2022-12-31
    • 1970-01-01
    • 2011-04-25
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多