gpt4 book ai didi

php - 远程显示和隐藏 div 标签

转载 作者:行者123 更新时间:2023-11-28 12:27:23 26 4
gpt4 key购买 nike

使用 CSS Refresh我的 friend 可以使用 PHP 和“fopen”远程显示和隐藏 div 标签。他正在度假,目前联系不上。这个想法是在按下按钮时更改 CSS 文件。

这样做的目的是根据命令远程显示带有 PDF 的 iframe 以进行在线 session 。我没有使用 TeamViewer Meeting 或类似的东西的原因是因为我必须使用的互联网连接很乏味。我认为在 div 标签中加载 PDF 会下载所有文件并准备好更改 CSS 文件以显示它。

在我尝试添加上一个幻灯片按钮之前,它工作正常(只有下一个幻灯片按钮):

<?php
if(isset($_POST['submit'], $_POST['next']))
{
$slide = $_POST['next'];
$slide = $_POST['previous'];
$slide_next = $slide + 1;
$slide_previous = $slide - 1;
$slide_current = $slide;
header("Location: next.php?slide=".$slide_next."");



} else {
if(isset($_GET['slide']))
{
$slide_next = $_GET['slide'];
}
else
{
$slide_next = "2";
}
echo ('
<form action="" method="post">
<input type="hidden" name="next" value="'.$slide_next.'" />
<input type="submit" name="submit" value="Go to Slide '.$slide_next.'" />
</form>
');
}
$myFile = "../css/changer.css.";
$fh = fopen($myFile, 'w') or die("Can't open zee file - error woo woo error");
$stringData = "#content$slide_current {\n";
fwrite($fh, $stringData);
$stringData = " visibility: visible;\n";
fwrite($fh, $stringData);
$stringData = "}\n";
fwrite($fh, $stringData);
$stringData = ".content:not(#content$slide_next) {\n";
fwrite($fh, $stringData);
$stringData = " visibility: hidden;\n";
fwrite($fh, $stringData);
$stringData = " height: 0px;\n";
fwrite($fh, $stringData);
$stringData = "}\n";
fwrite($fh, $stringData);
fclose($fh);
?>

我无法恢复到它工作时的状态,因为我直接在我 friend 存储备份的 FTP 上更改了它,目前我无法访问它们。

任何帮助将不胜感激。谢谢。

最佳答案

如果我理解您的意思,您需要在打开您网站的所有浏览器中更改某些 div 元素的可见性,对吗?您选择的方式非常奇怪,您可以为此使用 jQuery 的 ajax 和 setInterval。例如:

面向用户的 PHP:

<?php 
$curSlide = file_get_contents("/tmp/slidenumber.txt");//Get current active slide
if (!isset($_POST['testSlideChange'])):
//If there are no POST var, saying that this is an ajax update request, output the HTML page to browser:
?>
<div id="slide-1" class="slide <?php if($curSlide==1) echo 'visible'?>">Content of slide1</div>
<div id="slide-2" class="slide <?php if($curSlide==2) echo 'visible'?>">Content of slide2</div>
<div id="slide-3" class="slide <?php if($curSlide==3) echo 'visible'?>">Content of slide3</div>
<div id="slide-4" class="slide <?php if($curSlide==4) echo 'visible'?>">Content of slide4</div>
<?php else: //else, if we have POST-var, just return current slide as a number
echo $curSlide;
endif; ?>

CSS:

slide 
{ display:none; }

slide.visible
{ display:block; }

JS:

$(document).ready(function(){
//test for slide change every 1 second
setInterval(testSlideChange,1000);
});

function testSlideChange()
{
//make post ajax request
$.post('http://my.web.site.com/this_page.php', {'testSlideChange' : 1} , function(data) {
//if result slide hasn't got class "visible", lets take it from the visible one, and give to a new one.
if (!$('#slide-' + data).hasClass('visible')
{
$('.slide.visible').removeClass('visible');
$('#slide-' + data).addClass('visible');
}
}
}

要在服务器端更改幻灯片,您只需将另一个数字写入文件/tmp/slidenumber.txt,这可以通过简单的服务器 php 脚本或手动完成。


我已经创建了一个示例来说明它应该如何工作。工作示例!

用户页面:http://kovka54.ru/test/index.php (用户可以在这里看到幻灯片)
管理页面:http://kovka54.ru/test/admin.php (管理员可以在这里设置事件幻灯片)
在单独的窗口(例如,在两个浏览器中)打开此页面并观察,当您在管理端更改幻灯片时,用户的幻灯片是如何更改的。
该示例包含 3 个文件:index.php、admin.php 和 slidenumber.txt(仅包含一个数字,开头为“1”(不带引号)。index.php 的内容:http://pastebin.com/zge3MbAQ , admin.php 的内容:http://pastebin.com/J5eDEbSe

关于php - 远程显示和隐藏 div 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18451175/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com