Php 如何在两个文件中使用变化的变量

Php 如何在两个文件中使用变化的变量,php,global-variables,Php,Global Variables,所以我有一个变量,比如$mapname=date'YmdHis';,此变量每秒更改一次。。我想在跨文件中使用它,但问题是日期每秒都会更改,而且两个不同的文件不会同时执行脚本 因此,当我提交表格时,我会得到两个文件夹,例如:20150113132538和20150113132547。脚本检查是否存在基于$mapname的文件夹。但是,由于一个脚本比另一个脚本慢,这取决于上载速度,因为它上载文件,所以会创建一个新文件夹,因为该文件夹不存在 有人能解决这个问题吗 这是两个脚本中的代码,require

所以我有一个变量,比如$mapname=date'YmdHis';,此变量每秒更改一次。。我想在跨文件中使用它,但问题是日期每秒都会更改,而且两个不同的文件不会同时执行脚本

因此,当我提交表格时,我会得到两个文件夹,例如:20150113132538和20150113132547。脚本检查是否存在基于$mapname的文件夹。但是,由于一个脚本比另一个脚本慢,这取决于上载速度,因为它上载文件,所以会创建一个新文件夹,因为该文件夹不存在

有人能解决这个问题吗

这是两个脚本中的代码,require date.php基本上就是把$mapname=date'YmdHis'放在这里;在文件中

下面的脚本由以下脚本调用:

<script type="text/javascript">
            function SaveIt() {
        event.preventDefault();
        var myDrawing = document.getElementById("simple_sketch");
        var drawingString = myDrawing.toDataURL("image/png");
        var postData = "canvasData="+drawingString;
        var ajax = new XMLHttpRequest();
        ajax.open("POST",'saveimage.php',true);
        ajax.setRequestHeader('Content-Type', 'canvas/upload');
        ajax.onreadystatechange=function()
            {
                if (ajax.readyState == 4)
                {alert("image saved");}
            }
            ajax.send(postData);
    }
    </script>
^这会上传多张图片

图像大小比画布大,因此画布脚本在1/2秒内加载,而上载大约需要9/10秒。。因此,请根据当前日期创建两个不同的文件夹。

在浏览器中访问的脚本中设置$GLOBALS['mapname',],并从其他脚本中使用它,我认为您需要或包含在第一个脚本中

变量将在整个请求中保留其内容。您甚至可以使用常量来防止覆盖它,如下所示:

if(!defined('MAPNAME')) {
    define('MAPNAME', date('YmdHis'));
}

有什么代码可以帮助我们吗?又名一个例子,我将在sec2中发布它,脚本执行意味着2个请求。在PHP等无状态环境中,任何变量(全局变量或其他变量)都不会保留其值。也许一个会话可以帮助解决这个问题,或者将mapname放入一个隐藏变量中,作为页面呈现时间与表单提交时间的对比。@Jonnycake:磁盘I/O仍然是一个主要瓶颈。。。老实说,使用会话,而不是临时文件。此外:您将如何区分哪些用户正在上载哪些文件?是否为每个用户创建临时文件?那会很糟糕,我知道,但我不认为这里是这样,他只是不清楚。请记住,他说的是一个单一的表单提交。
require_once "date.php";

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    $path = "" . $upload_dir . "/" . $mapname . "/"; // Upload directory

    // Loop $_FILES to execute all files
    foreach ($_FILES['files']['name'] as $f => $name) {
        if ($_FILES['files']['error'][$f] == 4) {
            continue; // Skip file if any error found
        }

        if ($_FILES['files']['error'][$f] == 0) {              
            if ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            elseif( ! in_array(pathinfo($name, PATHINFO_EXTENSION), $valid_formats) ){
                $message[] = "$name is not a valid format";
                continue; // Skip invalid file formats
            }
            elseif(!$_POST["fancier"]){
                $message[] = "Please fill in your name.";
                continue;
            }           
            else{ // No error found! Move uploaded files
                if (!file_exists($path)) {
                    mkdir($path, 0777, true);
                }
                if (file_exists($path.$name)) {
                    $path_parts = pathinfo($name);
                    $name = $path_parts['filename'] . "_" . date('ynjGis') . "." . $path_parts['extension'];
                }
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name)) {
                    $count++; // Number of successfully uploaded files
                }
            }
        }
    }
}
if(!defined('MAPNAME')) {
    define('MAPNAME', date('YmdHis'));
}