我正在寻找一种简单(无数据库)的方法来列出网站上有多少活跃用户。我能想到的最简单的方法是计算打开的session数。此代码应该可以工作:$number_of_users=count(scandir(ini_get("session.save_path")));当然不会,因为该目录的安全限制(应该有!!)。有谁知道在不更改目录权限的情况下访问此号码的另一种方法。注意:我正在寻找一个不涉及数据库或降低PHPsession安全性的选项。尾注:对于任何遇到这个问题的人,我最终从root使用了一个cronjob(每分钟运行一次),它做了类似的事情:ls/var/lib/php5/|wc-l>/v
我一直在想,如果PHPsession在执行脚本的过程中超时,那么$_SESSION数组中的内容是否仍然可用,直到脚本执行结束?例如:session_start();if(!isset($_SESSION['name'])){echo'Nameisnotset';exit;}//imaginethereisabunchofcodehereandthatthesessiontimesoutwhile//thiscodeisbeingexecutedecho'Nameis',$_SESSION['name'];//willthislinethrowanerror?将session变量复制到本
例如-在vimeo.com上,每个视频都有一个ID号。要观看该视频,您只需导航至vimeo.com/2847535或其他网站即可。假设我有一个类似的网站,每次用户添加视频时,它都会被分配一个唯一的ID。将视频添加到数据库后,如何使用该ID号创建目录?此外,一旦视频在数据库中并创建了目录,现在我必须在用户访问www.example.com/38540305时加载的php页面上显示正确的视频...我的第二个问题是,如何从URL中提取视频ID?当url看起来像www.example.com/video.php?38540305使用_GET时,我知道如何做到这一点,但我认为如果没有“?”这
我想在$text中替换以“[id”开头、中间部分未知、以“]”结尾的字符串。我知道如何替换以“[id”开头并以“]”结尾的字符串,但我不知道如何将未知的中间正文部分作为替换规则。任何想法如何像这样替换?谢谢。 最佳答案 以下将删除所有出现的[idsomething]。something将匹配除]之外的所有字符。$newText=preg_replace('#\[id[^\]]+\]#','',$subject);如果你知道something总是一个数字,你可以使用这样的东西:$newText=preg_replace('#\[id\
我正在使用RedBeanPHP将一些数据从网络抓取转储到数据库中,我需要保留旧ID,最好是作为主键字段。可以用RedBean做到这一点吗?当我尝试这样设置id时:$bean->id=56;该行未被插入-最终创建的查询变成了“UPDATEWHEREid=56”,由于记录尚不存在,它什么也不做。 最佳答案 我通过先插入一个带有SQLexec的占位符解决了这个问题:$id=60000;$name='bob';R::exec('insertintoperson(id)values('.$id.')');$person=R::dispense
我有几个子域,如“a.domain.com”、“b.domain.com”,但我发现如果我在子域a登录,session/cookies在b中将不起作用,我必须重新登录在“b.domain.com”中如何让登录session在所有子域中工作?更新:我发现每个子域都有不同的sessionID...更新:我发现我只能登录'bench'和'post'等几个域,但是不能登录'book'和其他域。真奇怪。 最佳答案 你可以像我一样在yiiconfig/main.php文件中设置它。(我不确定您是否还需要更改php.ini文件,但我会说“不”,因
当我在session(在php中)中存储一个变量时,该变量将在该文件中停留多长时间?在有人取消设置变量或删除文件之前,它会一直存在吗?更新:所以是session.gc-maxlifetime在php.ini文件中设置的设置。您可以通过调用phpinfo()检查您的设置。我的设置为1440秒,所以24分钟。Mighthavefoundaduplicatehere,虽然谷歌搜索时我一开始因为措辞没有找到它。 最佳答案 默认情况下会保留24分钟。(这是默认的php.ini文件设置)。正如您所评论的,这是设置:http://www.php.
采用以下代码片段。确保session变量不为空的最佳测试方法是什么?session->userdata('userID')){$loggedIn=1;}else{$loggedIn=0;}?>如果稍后在我的脚本中调用以下命令,第一个正确打印,但第二个我收到消息:undefinedvariable:loggedInsession->userdata('userID'));echo$loggedIn;?>我试过使用!empty和isset,但都没有成功。我还尝试使用if(!($this->session->userdata('userID'))向后执行if/then语句,但没有骰子。有什么
我正在尝试使用PDO获取mysql_insert_id。到目前为止,我还没有找到一个同时适用于插入和更新的好例子。有没有人有一段完整的代码作为例子? 最佳答案 如果您需要$pdo->lastInsertId()返回刚刚更新的行的id(如果我需要它,我会认真地重新考虑我的设计,但是嘿。..可能是真正的需要),像这样进行更新:UPDATEtablenameSETsome_column='somevalue',id=LAST_INSERT_ID(id); 关于php-使用PDO获取插入和更新I
我在netfirms服务器上安装了一个CakePhp2.0博客应用程序,该博客与定义博客使用的术语的PostsController一起工作正常,当我现在添加编辑、添加和删除帖子等操作时,使用beforeSave编辑我的模型()回调并添加了一个新的ControllerGalleriesController,它具有删除图像、修改或添加新图像的相同功能,然后当任何cms操作发生时,无论是后期编辑或修改还是图像编辑或修改,我都会在网络服务器上收到此错误'在我的本地WAMP服务器安装上显示Warning(2):session_start():open(/var/php_sessions/sess