Php 函数完成运行前变量值的更改

Php 函数完成运行前变量值的更改,php,Php,我有一个图像上传脚本,其中我使用以下设置为上传的图像指定名称 $saltdate = date( 'U' ); $saltuser = $_SERVER[REMOTE_ADDR]; $saltname = md5($saltdate.$saltuser); // Recieve, Process, Save uploaded image // Update database with image name 我遇到的问题是,在处理/保存图像后,

我有一个图像上传脚本,其中我使用以下设置为上传的图像指定名称

        $saltdate = date( 'U' );
        $saltuser = $_SERVER[REMOTE_ADDR];
        $saltname = md5($saltdate.$saltuser);

// Recieve, Process, Save uploaded image

// Update database with image name
我遇到的问题是,在处理/保存图像后,将此文件名添加到数据库时,
$saltdate
的值似乎已更改,我将获得数据库中不存在的文件名

编辑

该值已更改,从命名文件到将名称存储在数据库中的时间都在增加


如何确保值在建立后不会更改?

使用define将其设置为常数使用define将其设置为常数由于您使用的是
md5()
函数,请确保在检索记录时执行相同的操作。请注意,您在盐中使用的是日期,请确保内容匹配


一个简单的方法是使用
microtime
函数。

因为您使用的是
md5()
函数,所以请确保在检索回记录时执行相同的操作。请注意,您在盐中使用的是日期,请确保内容匹配


一个简单的方法是使用
微时间
函数。

这是调试器非常方便的一种错误。您可以在代码中设置断点,然后逐步执行它,并检查变量的状态等

您可以用作服务器端php模块,例如用作前端/ide。

中有一个关于这种组合的简短介绍,这是调试器非常方便的一种错误。您可以在代码中设置断点,然后逐步执行它,并检查变量的状态等

您可以用作服务器端php模块,例如用作前端/ide。

“saltdate美元的价值似乎发生了变化”——以什么方式发生了变化?它包含另一个看似有效的值(即一个可能被日期(u′)返回但与您期望的值不同)的数字。日期(‘u’’)的返回值(您可能要考虑只使用时间())由值赋值,因此除非修改它,否则它不能改变。请提供更多相关代码部分。“saltdate的值似乎已经改变”-以什么方式改变?它包含另一个看似有效的值(即一个可能被日期(u′)返回但与您期望的值不同)的数字。日期(‘u’’)的返回值(您可能要考虑只使用时间())由值赋值,因此除非修改它,否则它不能改变。请提供更多相关代码部分。