网络工具
技术文章
php调用统计软件R进行复杂计算并获取结果的技术实现
php作为web程序开发的主要语言,应用广泛。R作为一种统计软件,在数学算法的实现上具有良好的可操作性。最近,由于工作的需要,要对一些web应用的数据进行复杂的数学计算,但php本身虽然可以写一些数学算法,但仍难以满足需求,数十行代码的效率抵不上R中的一个函数,经过研究,最终实现了在php的即时访问中调用R进行计算操作,并直接读取计算结果,在web页面中进行显示。大概思路如下:
重点在于php激活R程序运行,并向R传递计算参数,获得结果。
php激活R,可以采用内置函数exec,这样只要在操作系统运行窗口执行的命令都可以在此执行,R执行的命令为(以下均指在windows环境下)
"D:\\Program Files\R\R-2.15.2\bin\x64\R.exe" --vanilla < D:\\test.R out.txt
第一部分为本机的R程序的路径,后边加R软件的option,可自定义,后加要执行的R程序文件,是重点,最后执行输出文件,此文件为指令必须,但对我们没有用处。
利用.user.ini文件修改 open_basedir加强php系统安全性
.user.ini是lnmp文件,里面放的是网站的文件夹路径地址,目的是防止跨目录访问和文件跨目录读取,从一定意义上,保证未知PHP代码可能带来的潜在的安全性问题。
配置放在根目录 .user.ini
open_basedir=/项目路径/:/tmp/:/proc/
例:
open_basedir=/www/www.a.com/:/tmp/:/proc/
值得注意的是,上述路径中,请一定要以斜线结尾,如果没有用斜线结尾的话,则代表的是一系列以对应名称开头的目录。比如:/user 代表的就是 /user(*)/ ,所以请一定要注意,斜线的使用。
同时,注意设置改文件的权限,要比根目录代码权限高,防止被直接操作修改。
https://www.php.net/manual/zh/configuration.file.per-user.php
网页标签云自定义格式自动生成程序示例
标签云是一套相关的标签以及与此相应的权重。典型的标签云有30至150个标签。权影响使用的字体大小或其他视觉效果。同时,直方图或饼图表是最常用的代表约12种不同的权数。因此,标签云彩能代表更多的权,尽管不那么准确。此外,标签云通常是可以交互的:标签是典型的超链接,让用户可以仔细了解他们的内容。
首先使用标签云的一家高知名度的网站---照片共享网站Flickr。标签云的设计者是交互设计师Stewart Butterfield。之后,标签云被诸如del、Technorati等网站采纳。
根据标签云的作用(而非样式),在应用中可以将其分成三大类。其中,第一类用于描述网站中的每个独立条目,而第二类则着力于从整体上刻画网站所有条目的标签情况:
第一类标签云:每一个条目都有自己独立的标签云,标签字体越大,此条目中用户使用过这个标签的次数就越多,在页面公开统计点击且不要求精准数据的情况下十分适用。如Last.就是使用了第一类标签云。
第二类标签云:网站一般会有一个超大型标签云,标签字体越大,网站里使用过这个标签的条目数就越多。第二类标签云可以显示出标签的热门程度,在实际应用中更为常见,如flickr。
第三类标签云:在此类中,标签作为一个数据项目的工具,用于表示在整个集合中里各个项目的数据量的大小。