0

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 来访问和更新 index.php :

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

有什么方法可以将 URL 值传递给 sourcer 而无需手动将其插入文本文件中?

4

2 回答 2

1

在你的 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。

于 2013-01-18T12:40:44.310 回答
0

使用会话变量来存储上传的图像和使用 ajax 响应怎么样?

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

于 2013-01-18T12:53:34.940 回答