PHP,跨外部javascript文件共享一个有价值的变量

PHP,跨外部javascript文件共享一个有价值的变量,php,javascript,ajax,variables,global,Php,Javascript,Ajax,Variables,Global,该网站允许用户通过PHP脚本(ajaxupload.PHP)上传图像,该脚本存储在PHP脚本内部的$uploaded_img中。我想将我新存储的图像的路径传递给一个JS文件,我发现唯一的方法是将值写入一个文本文件,这是非常过分的 file_put_contents("testFile.txt", ""); $myFile = "testFile.txt"; $fh = fopen($myFile, 'w') or die("can't open file"); $stringData = $u

该网站允许用户通过PHP脚本(ajaxupload.PHP)上传图像,该脚本存储在PHP脚本内部的$uploaded_img中。我想将我新存储的图像的路径传递给一个JS文件,我发现唯一的方法是将值写入一个文本文件,这是非常过分的

file_put_contents("testFile.txt", "");
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");

$stringData = $upload_image;
fwrite($fh, $stringData);
$stringData = "\n";
fwrite($fh, $stringData);
fclose($fh);
同时,我有一个运行的外部.js文件,加载我的html5画布等

我在external.js文件中设置了一个全局变量sourcer,通过读取我在php脚本中写入URL的文件中的URL,我可以从index.php访问和更新该文件:

jQuery.get('scripts/testFile.txt', function(data) {
sourcer = data;
});

是否有任何方法可以将URL值传递给sourcer,而无需手动将其插入文本文件中?

在php模板的头部添加一个块

<script type="text/javascript">
    var uploaded_img = '<?php echo json_encode($uploaded_img); ?>';
</script>
并读取javascript中的response.filename。

如何使用存储上传的图像和ajax响应


我认为两者都使用有一个优点:上传图像后,您可以直接在上传页面上使用该值。对于会话变量,如果您需要从另一个上下文访问它,它将确保服务器端始终能够获取该值。

好的,所以我将测试您放在那里的第二个选项我最终使用jquery.ajax结合json编码,但它可以工作,谢谢!就像使用会话变量从ajax_upload.php传递到index.php一样,我没有想到这一点,听起来很方便,但是它会正确更新吗?我将测试这个tooA会话变量可以从服务器端更新。在示例中:
$\u会话['uploaded\u image']=$uploaded\u image我的会话变量在重新加载初始页面索引页面之前不会更新,因此我最终使用了.ajax
header('Content-type: application/json');
echo json_encode(array('filename'=>$uploaded_img));