函数完成运行前变量的值

时间:2010-04-14 07:15:16

标签: php

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

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

// Recieve, Process, Save uploaded image

// Update database with image name

我遇到的问题是,在处理/保存图像后,当它将该文件名添加到数据库时,$saltdate的值似乎已经改变,我将获得一个文件名。不存在的数据库。

修改

值已更改,因为从命名文件到将名称存储在数据库中时,时间会增加。

我如何确定一旦建立后该值不会改变?

3 个答案:

答案 0 :(得分:1)

使用define

将其设置为常量

答案 1 :(得分:1)

由于您使用的是md5()函数,因此请确保在检索记录时执行相同的操作。请注意,您在盐中使用日期,确保事情匹配。

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

答案 2 :(得分:1)

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

您可以使用XDebug作为服务器端php模块,例如netbeans作为前端/思想 在http://netbeans.org/kb/docs/php/debugging.html

上有一个简短的介绍