Php &引用;“现场演示”;通过上传进行图像切换

Php &引用;“现场演示”;通过上传进行图像切换,php,javascript,jquery,html,ajax,Php,Javascript,Jquery,Html,Ajax,我正试图建立一个“演示”的客户谁希望显示他们的客户的模板网站。他们真正想要的一个功能是允许用户上传他们的徽标(jpg,png),并让它实时替换占位符徽标图像。在站点刷新之前,它也应该是临时的 示例站点将只是主页,它是一个完整的PHP/HTML站点,没有数据库 这可能吗?我花了一上午的大部分时间浏览谷歌,但没有真正找到任何东西 感谢您的帮助。谢谢。如果只有一个页面,您可以将该页面的输出保存为HTML,并将所有javascript/css/图像静态链接 然后,您可以在HTML中定义一个可以替换的区域

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

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

这可能吗?我花了一上午的大部分时间浏览谷歌,但没有真正找到任何东西


感谢您的帮助。谢谢。

如果只有一个页面,您可以将该页面的输出保存为HTML,并将所有javascript/css/图像静态链接

然后,您可以在HTML中定义一个可以替换的区域(例如,使用HTML注释
..
或CSS注释
/*编辑:开始*/…/*编辑:结束*/
),该区域可以动态更改,例如使用临时图像(-URL)


但是您的问题非常广泛,可以有多种方法来实现这一点,因此这只是一个想法,或者可能只是其中的一个方面。

您可以允许用户上载图像,然后在上载图像后,将其加载到
$\u会话
变量中。输出徽标图像时,请检查上载时创建的
$\u SESSION
变量是否存在,如果存在,请将徽标的源更改为输出脚本,该脚本读取
$\u 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;
}
?>

好的,我已经弄明白了,至少是我要找的基本概念

因此,我在上传程序中使用了来自的ajaxupload.js,然后包含了来自Hermits的My Image Scale jQuery,以自动将图像缩放到包含的div

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

现在我将调整代码,使其在移动之前不需要创建li元素

对于任何想这样做的人,这里有一个


感谢大家的帮助和建议。

我理解这里的概念,但我想知道它的时间安排。我的意思是,在用户上传图像之前,页面应该已经加载/呈现了。我想我可以尝试做一些“onUpload”之类的事情,在用户完成上传后交换图像。或者这就是你已经说过的?这似乎是一个很好的方法。使用ajax上传调用后,您可以检查回调数据,如果成功,则可以将徽标的源代码更改为输出用户上传徽标的PHP脚本。这也可以在没有ajax的情况下实现,方法是将上传表单的目标设置为隐藏的iframe,并将PHP脚本加载到iframe中,输出一些JavaScript,在成功上传时更改徽标图像的源代码。