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



http://www.shedlimited.debrucellc.com

该网站允许用户通过PHP脚本(ajaxupload.PHP(上传图像,该脚本存储在PHP脚本内部的$uploaded_img中。我想把我新存储的图像的PATH传递到一个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 Canvas等,

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

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>

json编码确保变量被正确编码,即使它是一个对象或数组。

如果它纯粹是ajax的东西。只需在ajax响应中返回文件名。因此,张贴到您的ajax上传,并使您的ajax脚本返回一个带有文件名的json对象。

所以在你的上传脚本中,在底部:

header('Content-type: application/json');
echo json_encode(array('filename'=>$uploaded_img));

并读取javascript中的response.filename。

使用会话变量来存储上传的图像和ajax响应如何处理?

我看到了同时使用这两种方法的优势:图像上传后,您可以直接在上传页面上使用该值。对于会话var,如果您需要从另一个上下文访问它,它将确保服务器端始终能够获得该值。

相关内容

  • 没有找到相关文章

最新更新