我正在寻找一种简单(无数据库)方法来列出网站上有多少用户活跃.我能想到的最简单的方法是计算开放会话的数量.
这段代码应该有效:
$number_of_users = count(scandir(ini_get("session.save_path")));
Run Code Online (Sandbox Code Playgroud)
当然它不会因为该目录的安全限制(因为应该有!!).有没有人知道另一种方法来访问此号码而不更改目录权限.
注意: 我正在寻找一个不涉及数据库或降低PHP会话安全性的选项.
结束注意:对于任何人来到这个问题,我最终使用了一个cronjob(每分钟运行一次)从root做了类似的事情:
ls /var/lib/php5/ | wc -l > /var/www/sessioncount
Run Code Online (Sandbox Code Playgroud)
确保/var/www/sessioncountapache用户可以读取该文件.然后你可以用PHP读取文件:
$number_of_users = file_get_contents("/var/www/sessioncount");
Run Code Online (Sandbox Code Playgroud) 我正在尝试将Gravatars加载到Flash中.幸运的是,他们提供了一个crossdomain.xml文件http://en.gravatar.com/avatar/crossdomain.xml
我的代码:
Security.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var loader:Loader = new Loader();
loader.load(new URLRequest("http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon"));
Run Code Online (Sandbox Code Playgroud)
但我仍然收到这个错误:
SecurityError:错误#2123:安全沙箱违规:LoaderInfo.content:[...]无法访问http://en.gravatar.com/avatar/97fbce86a5bbc520450168603172cd9e?s=35&d=identicon.没有授予访问权限的策略文
at flash.display :: LoaderInfo /获取
PiecePlayerSmall/onLoadComplete()上的内容()
我还监控了Flash文件发送的流量.它要求:
任何有关使其工作并减少对gravatar.com的请求数量的建议.
编辑: 以下代码工作,感谢雅各布
Security.loadPolicyFile("http://en.gravatar.com/avatar/crossdomain.xml");
var context:LoaderContext = new LoaderContext();
context.checkPolicyFile = true;
context.applicationDomain = ApplicationDomain.currentDomain;
var request:URLRequest = new URLRequest(
"http://en.gravatar.com/avatar/" + gravatar + "?s=35&d=identicon");
var loader:Loader = new Loader();
loader.load(request, context);
this.addChild(loader);
Run Code Online (Sandbox Code Playgroud)
注意:请勿尝试直接在Event.COMPLETE中访问内容
我需要专家的一些建议:)我将使用PHP开发一个网站,我也将使用MySQL.我从虚拟专用服务器购买了一些服务器空间,包括所需的所有服务.
我该如何开发网站?我应该在家里的机器上开发它(使用例如Wamp),并准备好将所有文件传输到服务器?如果是这样,那么传输数据库的最佳方法是什么?
提前致谢!!
我不太擅长代码,所以请使用外行术语来回答!
我有一个广播网站,我在其中隐藏链接直到一天中的特定时间(即广播时间),这是我用来执行此操作的代码:
<?php
date_default_timezone_set('Europe/London');
$currtime = date('Hi');
// Change time
$starttime = 2200;
$endtime = 2300;
$endtime = $endtime + 2400;
$endtest = $currtime + 2400;
?>
<?php
if( $currtime >= $starttime && $endtest <= $endtime ){
?>
<a href="*broadcastlink*">LIVE NOW</a>
<?php
}
else{
?>
Live at 22:00
<?php
}
?>
Run Code Online (Sandbox Code Playgroud)
目前用户必须手动刷新页面,这有点混乱。
我知道这可以很容易地使用 javascript 每 x 秒刷新整个页面来完成,但我不想这样做,因为我有另一段代码显示一个“类似 facebook 的”弹出窗口,该窗口 5 分钟内不会关闭除非他们点击喜欢,否则刷新整个页面会不断显示弹出窗口。
请有人编写一个脚本,以便我可以将刷新脚本链接到上面的 php 脚本,以便在链接显示时间容器刷新时,我环顾四周,到目前为止没有找到合适的东西?
预先感谢您的任何帮助 - 非常感谢