好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php获取终端类型 php 获取客户端和服务器端ip

很多站长朋友们都不太清楚php获取终端类型,今天小编就来给大家整理php获取终端类型,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP怎么调用Linux命令终端 2、 小蘑菇修订版区别 3、 帝国页面里用PHP代码无法获取到不同终端的正确浏览器UA标识! 4、 php执行linux命令并输出终端屏幕显示的内容(实时) 5、 php如何判断用户通过手机wap访问还是电脑直接访问 PHP怎么调用Linux命令终端

首先先要给大家介绍PHP执行linux系统命令的几个基本函数。

system函数

说明:执行外部程序并显示输出资料。

语法:string system(string command, int [return_var]);

返回值: 字符串

详细介绍:

本函数就像是 C 语中的函数 system(),用来执行指令,并输出结果。若是 return_var 参数存在,则执行 command 之后的状态会填入 return_var 中。同样值得注意的是若需要处理用户输入的资料,而又要防止用户耍花招破解系统,则可以使用 EscapeShellCmd()。若 PHP 以模块式的执行,本函数会在每一行输出后自动更新 Web 服务器的输出缓冲暂存区。若需要完整的返回字符串,且不想经过不必要的其它中间的输出界面,可以使用 PassThru()。

实例代码:

< ?php

$last_line = system('ls', $retval);

echo 'Last line of the output: ' . $last_line;

echo '<hr/>Return value: ' . $retval;

?> ?

exec函数

说明:执行外部程序。

语法:string exec(string command, string [array], int [return_var]);

返回值: 字符串

详细介绍:

本函数执行输入 command 的外部程序或外部指令。它的返回字符串只是外部程序执行后返回的最后一行;若需要完整的返回字符串,可以使用 PassThru() 这个函数。

要是参数 array 存在,command 会将 array 加到参数中执行,若不欲 array 被处理,可以在执行 exec() 之前呼叫 unset()。若是 return_var 跟 array 二个参数都存在,则执行 command 之后的状态会填入 return_var 中。

值得注意的是若需要处理使用者输入的资料,而又要防止使用者耍花招破解系统,则可以使用 EscapeShellCmd()。

实例代码:

< ?php

echo exec('whoami');

?> ?

popen函数

说明:打开文件。

语法:int popen(string command, string mode);

返回值: 整数

详细介绍:

本函数执行指令开档,而该文件是用管道方式处理的文件。用本函数打开的文件只能是单向的 (只能读或只能写),而且一定要用 pclose() 关闭。在文件操作上可使用 fgets()、fgetss() 与 fputs()。若是开档发生错误,返回 false 值。

实例代码:

< ?

$fp = popen( "/bin/ls", "r" );

?> ?

通过上述函数,PHP可以执行linux系统的shell命令。

小蘑菇修订版区别

账号版《小蘑菇》有46个基本的页面设计控件。

(下图即为《小蘑菇》账号版的所有控件)

点击看大图

USB定制版的《小蘑菇》有117个页面设计控件。

(下图即为《小蘑菇》USB定制版增加的71个专业和高级页面控件)

点击看大图

点击看大图

“USB卡限量定制版”可以在任何电脑环境中使用。可以是连接互联网,也可以是不连接互联网的情形下设计网站项目。

“USB卡限量定制版”通过与“账号版”的关联,还可以远程使用,实现各种各样的网站开发操作。

“USB卡限量定制版”制作的网站项目,可以在没有互联网的环境下,将网站项目完全运行在局域网或物理隔离的行业内网中。而“账号版”虽然可以在局域网运行网站项目,但是需要在有互联网的局域网环境下运行网站项目。

“USB卡限量定制版”制作的网站项目,可以实现客户端访问的“负载均衡”设置。通过多线程的“进程数”,实现大型、超大型网站的访问量负载均衡,避免大量并发访问时的堵塞问题发生。

1) 负载均衡“进程数”设置机制,极大地影响到网站项目的运行效能。尤其对于web数据库应用的网站项目而言,因为其“数据往复、数据提交”机制的频繁交互,使得进程的占用无比拥塞。这类应用所产生的“假死、失去响应”等,都是进程忙碌所引发的。

2) 通过负载均衡“进程数”设置,将大大提高数据交互的可靠性,以及实际上避免和解决拥堵的发生,使得每一个在线客户端,都有自己独立的高速通道。

3) 通过负载均衡“进程数”设置,将大大提高“多核”服务器的使用效率。使得“多进程”与“多核”的均布分配达到优化。

“USB卡限量定制版”,支持“高速页面”机制。

在该版本中,可以将任何“主页面、主框架、框架”设置为高速的“静态模式”,从而大大提高页面或框架的打开效率,使得大数据页的打开效率,提高到秒级水准。

“USB卡限量定制版”,支持“静态页面”或“静态动态”混合的高级页面功能。

在该版本中,可以将任何页面制作为“静态页面”或“静态动态”混合的高级页面。利用这一机制,可以使用户创建的网页实现高速载入模式的高级应用。

“USB卡限量定制版”,支持“导出php页面或代码”功能。

在该版本中,可以将任何页面导出为“导出php页面或代码”。利用这一机制,可以生成php代码的网站,并可将网站发布于任何网站空间上运行。

“USB卡限量定制版”,支持“高级定制控件”的应用。在该版本中,凡是被大客户付费定制的“专有控件”,都将被所有定制版用户共享到。因此而言,《小蘑菇》USB定制版,可以理解为是一个开放系统,会不断的增加控件和其它功能的。(账号版《小蘑菇》是固定不变的控件和功能)

“USB卡限量定制版”,支持“高级定制控件”的应用。在该版本中,凡是被大客户付费定制的“专有控件”,都将被所有定制版用户共享到。

目前已有的“高级定制功能”有:

1) 取终端类型

“取终端类型”函数,用来获得当前访问者的“终端类型”。

例如判断是“PC”还是“iPhone、iPad、Android、OtherMobile”,从而实现对客户端是“手机”还是电脑浏览器的判断,以实现不同的访问终端客户端,打开不同页面的高级应用功能。

例如通过该函数“终端类型”判断,实现手机用户看到的页面,与电脑用户看到的页面不同的神奇应用效果。

2) 取宽度分辨率

“取宽度分辨率”函数,用来获得当前客户端浏览器的“宽度分辨率”。使用该函数可以实现对客户端的浏览器宽度数值,从而实现页面的动态大小改变。

3) 取高度分辨率

“取高度分辨率”函数,用来获得当前客户端浏览器的“高度分辨率”。使用该函数可以实现对客户端的浏览器高度数值,从而实现页面的动态大小改变。

4) 取浏览器类型

“取浏览器类型”函数,用来获得当前客户端浏览器的“内核类型”。

帝国页面里用PHP代码无法获取到不同终端的正确浏览器UA标识!

应该是这个模板预设了UA

估计是考虑到UA一般情况很少会用到,所以所以用了默认的

你可以去模板里搜对$_SERVER['HTTP_USER_AGENT']设置的地方,注释掉就行了

php执行linux命令并输出终端屏幕显示的内容(实时)

PHP在linux上执行命令

目录:

一、PHP中调用外部命令介绍

二、关于安全问题

三、关于超时问题

四、关于PHP运行linux环境中命令出现的问题

一、PHP中调用外部命令介绍

在PHP中调用外部命令,可以用,1>调用专门函数、2>反引号、3>popen()函数打开进程,三种方法来实现:

方法一:用PHP提供的专门函数(四个):

PHP提供4个专门的执行外部命令的函数:exec(), system(), passthru(), shell_exec()

1)exec()

原型: string exec ( string $command [, array $output [, int $return_var ] )

说明: exec执行系统外部命令时不会输出结果,而是返回结果的最后一行。如果想得到结果,可以使用第二个参数,让其输出到指定的数组。此数组一个记录代表输出的一行。即如果输出结果有20行,则这个数组就有20条记录,所以如果需要反复输出调用不同系统外部命令的结果,最好在输出每一条系统外部命令结果时清空这个数组unset($output),以防混乱。第三个参数用来取得命令执行的状态码,通常执行成功都是返回0。

<?php

exec("dir",$output);

print_r($output);

?>

2)system()

原型: string system ( string $command [, int $return_var ] )

说明: system和exec的区别在于,system在执行系统外部命令时,它执行给定的命令,输出和返回结果。第二个参数是可选的,用来得到命令执行后的状态码。

<?php

system("pwd",$result);

print $result;//输出命令的结果状态码

?>

关于第二个参数结果状态码的简单介绍:

如果返回0是运行成功,

在Bash中,当错误发生在致命信号时,bash会返回128+signal number做为返回值。

如果找不到命令,将会返回127。

如果命令找到了,但该命令是不可执行的,将返回126。

除此以外,Bash本身会返回最後一个指令的返回值。

若是执行中发生错误,将会返回一个非零的值。

Fatal Signal : 128 + signo

Can't not find command : 127

Can't not execute : 126

Shell script successfully executed : return the last command exit status

Fatal during execution : return non-zero

3)passthru()

原型: void passthru ( string $command [, int $return_var ] )

说明: passthru与system的区别,passthru直接将结果输出到游览器,不返回任何值,且其可以输出二进制,比如图像数据。第二个参数可选,是状态码。

<?php

header("Content-type:image/gif");

passthru("/usr/bin/ppm2tiff /usr/share/tk8.4/demos/images/teapot.ppm");

?>

4)shell_exec()

原型: string shell_exec ( string $cmd )

说明: 直接执行命令$cmd

<?php

$output = shell_exec('ls -lart');

echo "<pre>$output</pre>";

?>

方法二:反撇号

原型: 反撇号`(和~在同一个键)执行系统外部命令

说明: 在使用这种方法执行系统外部命令时,要确保shell_exec函数可用,否则是无法使用这种反撇号执行系统外部命令的。

<?php

echo `dir`;

?>

方法三:用popen()函数打开进程

原型: resource popen ( string $command , string $mode )

说明: 能够和命令进行交互。之前介绍的方法只能简单地执行命令,却不能与命令交互。有时须向命令输入一些东西,如在增加系统用户时,要调用su来把当前用户换到root用户,而su命令必须要在命令行上输入root的密码。这种情况下,用之前提到的方法显然是不行的。

popen( )函数打开一个进程管道来执行给定的命令,返回一个文件句柄,可以对它读和写。返回值和fopen()函数一样,返回一个文件指针。除非使用的是单一的模式打开(读or写),否则必须使用pclose()函数关闭。该指针可以被fgets(),fgetss(),fwrite()调用。出错时,返回FALSE。

<?php

error_reporting(E_ALL);

/* Add redirection so we can get stderr. */

$handle = popen('/path/to/executable 2>1', 'r');

echo "'$handle'; " . gettype($handle) . "\n";

$read = fread($handle, 2096);

echo $read;

pclose($handle);

?>

php如何判断用户通过手机wap访问还是电脑直接访问

PHP通过内置全局变量$_SERVER['HTTP_USER_AGENT']来获取用户信息,包括浏览器信息,操作系统等;判断是否是手机还是电脑终端访问,只需判断他的$_SERVER['HTTP_USER_AGENT']信息是否存在手机终端类型即可。示例如下:

<?php

//1.获取用户浏览器信息 等;

$user_agent = $_SERVER['HTTP_USER_AGENT'];

//2.列举常用手机终端类型

$mobile_agents = array("240x320","acer","acoon","acs-","abacho","ahong","airness","alcatel","amoi",

"android","anywhereyougo测试数据","applewebkit/525","applewebkit/532","asus","audio",

"au-mic","avantogo","becker","benq","bilbo","bird","blackberry","blazer","bleu",

"cdm-","compal","coolpad","danger","dbtel","dopod","elaine","eric","etouch","fly ",

"fly_","fly-","go.web","goodaccess","gradiente","grundig","haier","hedy","hitachi",

"htc","huawei","hutchison","inno","ipad","ipaq","iphone","ipod","jbrowser","kddi",

"kgt","kwc","lenovo","lg ","lg2","lg3","lg4","lg5","lg7","lg8","lg9","lg-","lge-","lge9","longcos","maemo",

"mercator","meridian","micromax","midp","mini","mitsu","mmm","mmp","mobi","mot-",

"moto","nec-","netfront","newgen","nexian","nf-browser","nintendo","nitro","nokia",

"nook","novarra","obigo","palm","panasonic","pantech","philips","phone","pg-",

"playstation","pocket","pt-","qc-","qtek","rover","sagem","sama","samu","sanyo",

"samsung","sch-","scooter","sec-","sendo","sgh-","sharp","siemens","sie-","softbank",

"sony","spice","sprint","spv","symbian","tablet","talkabout","tcl-","teleca","telit",

"tianyu","tim-","toshiba","tsm","up.browser","utec","utstar","verykool","virgin",

"vk-","voda","voxtel","vx","wap","wellco","wig browser","wii","windows ce",

"wireless","xda","xde","zte");

foreach ($mobile_agents as $device) {

if (stristr($user_agent, $device)) {

//手机访问

$is_mobile = true;

break;

}

}

//判断手机标识是否为真

if($is_mobile){

echo "手机访问!";

}else{

echo "电脑访问!";

}

?>

回答不容易,希望能帮到您,满意请帮忙采纳一下,谢谢 !

关于php获取终端类型的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php获取终端类型 php 获取客户端和服务器端ip的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did208754
更新时间:2023-05-03   阅读:39次

上一篇: php中count函数 php count函数

下一篇:phpjoin攻击 最新php攻击代码

相关资讯

最新资料更新

  • 1.php如何制作游戏 php游戏源码
  • 2.php梗怎么来的 php是什么意思饭圈
  • 3.php包含eaplay吗 php是否包含
  • 4.PHP画饼图动态 python 动态饼图
  • 5.基于PHP日记网站 phpstudy网站日志
  • 6.phpml源码安装 下载了个php源码包,怎么使用
  • 7.php生成vcard php生成验证码
  • 8.phpsessions phpsession使用
  • 9.php课堂系统 php网课系统
  • 10.php旋转图片保存 php转jpg
  • 11.php求100的质数 php求出1100的素数
  • 12.php数据导出csv php导出大量数据
  • 13.php验证邮箱合理 php发送邮件验证码
  • 14.影视php解析api php解析vip视频
  • 15.php棋牌小游戏 棋牌类小程序
  • 16.php调用裁剪插件 phpcrawl
  • 17.php登录网站 php网页登录
  • 18.哈希mapphp 哈希map和哈希table区别
  • 19.php常量乱码 phpstorm乱码
  • 20.php复杂语法 php基本语法

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]