通过上传“现场演示”图像切换

时间:2011-10-11 19:09:50

标签: php javascript jquery html ajax

我正在尝试为希望向其客户展示模板的客户建立一个“演示”网站。他们真正想要的一个功能是允许用户上传他们的徽标(jpg,png)并实时替换占位符徽标图像。它也应该只是在网站刷新之前是暂时的。

示例站点将只是主页,它是一个没有数据库的完整PHP / HTML站点。

这可能吗?我早上花了大部分时间看着谷歌并没有找到任何东西。

感谢任何帮助。感谢。

3 个答案:

答案 0 :(得分:0)

如果它只是一个页面,您可以将页面的输出保存为HTML,所有javascript / css / images静态链接。

然后,您可以在HTML中定义一个可以替换的区域(例如,使用HTML评论<!-- edit:start -->...<!-- edit:end -->或CSS评论/* edit:start */.../* edit:end */),这些区域可以动态更改,例如使用临时图像( - URL)。

但你的问题相当广泛,如何做到这一点有很多方法,所以这只是一个想法,或者可能只是其中的一个方面。

答案 1 :(得分:0)

您可以允许用户上传图片,然后在上传图片后将其加载到$_SESSION变量中。输出徽标图像时,检查是否存在您在上传时创建的$_SESSION变量,如果存在,请将徽标源更改为读取$_SESSION变量并输出其内容的输出脚本用合适的标题。

<?php
session_start();
if (isset($_FILES['logo_upload'])) {
    $handle = fopen($_FILES['logo_upload']['tmp_name'], "r");
    $cntnts = fread($handle, filesize($_FILES['logo_upload']['tmp_name']));
              fclose($handle);
    $_SESSION['logo_data'] = $cntnts;
}
?>

答案 2 :(得分:0)

好的,所以我已经弄明白了,至少是我正在寻找的基本概念。

所以我使用了来自Valums的ajaxupload.js作为上传器,然后包含了来自Hermits的My Image Scale jQuery,将图像自动缩放到包含div。

我目前将图像加载到脚本创建的li中,然后使用.replaceWith移动以替换原始徽标。这非常有效。

现在我要调整代码,以便在移动之前不需要创建li元素。

对于其他任何想要这样做的人,这里是Pastebin link

感谢大家的所有帮助和建议。