① php网页使用扫一扫功能如何实现
<!DOCTYPEhtml>
<htmlclass="umlandscapemin-width-240pxmin-width-320pxmin-width-480pxmin-width-768pxmin-width-1024px">
<head>
<title></title>
<metacharset="utf-8">
<metaname="viewport"content="target-densitydpi=device-dpi,width=device-width,initial-scale=1,user-scalable=no,minimum-scale=1.0,maximum-scale=1.0">
<linkrel="stylesheet"href="css/fonts/font-awesome.min.css">
<linkrel="stylesheet"href="css/ui-box.css">
<linkrel="stylesheet"href="css/ui-base.css">
<linkrel="stylesheet"href="css/ui-color.css">
<linkrel="stylesheet"href="css/appcan.icon.css">
<linkrel="stylesheet"href="css/appcan.control.css">
</head>
<bodyclass="um-vp"ontouchstart>
<divid="page_0"class="upubub-verbc-bg"tabindex="0">
<!--header开始-->
<divid="header"class="uhbc-text-heabbc-head">
<divclass="nav-btn"id="nav-left">
<divclass="fafa-angle-leftfa-2x"></div>
</div>
<h1class="utub-f1ulev-3ut-stx-c"></h1>
<divclass="nav-btnnav-bt"id="nav-right"></div>
</div>
<!--header结束-->
<!--content开始-->
<divid="content"class="ub-f1tx-l">
<inputtype="hidden"name="hdid"id="hdid"/>
活动名称:<spanid="spnhdmc"></span><br/>
活动内容:<spanid="spnhdnr"></span><br/>
活动时间:<spanid="spnhdsj"></span><br/>
组织单位:<spanid="spnhddw"></span><br/>
<divclass="btnubub-acbc-text-heab-pcbc-btnuc-a1"id="btnintiactive">登记提交</div>
</div>
<!--content结束-->
</div>
<scriptsrc="js/appcan.js"></script>
<scriptsrc="js/appcan.control.js"></script>
</body>
<script>
window.uexOnload=function(){
uexScanner.cbOpen=ScannerSuccessCallBack;
uexScanner.open();
setData();
}
functionsetData(){
varjsonData='{"lineImg":"res://line.png","pickBgImg":"res://pick_bg.png","tipLabel":"对准二维码/条形码,即可自动扫描","title":"扫一下"}';
uexScanner.setJsonData(jsonData);
}
(opCode,dataType,data){
varobj=eval('('+data+')');
//varjsdata=(newFunction("return"+obj.code))();
varjsonitem=eval('('+obj.code+')');
$('#hdid').val(jsonitem.hdid);
$('#spnhdmc').html(jsonitem.hdmc);
$('#spnhdnr').html(jsonitem.hdnr);
$('#spnhdsj').html(jsonitem.hdsj);
$('#spnhddw').html(jsonitem.hddw);
}
/*
appcan.ready(function(opCode,dataType,data){
uexScanner.cbOpen=function(){
varobj=eval('('+data+')');
//varjsdata=(newFunction("return"+obj.code))();
varjsonitem=eval('('+obj.code+')');
$('#hdid').val(jsonitem.hdid);
$('#spnhdmc').html(jsonitem.hdmc);
$('#spnhdnr').html(jsonitem.hdnr);
$('#spnhdsj').html(jsonitem.hdsj);
$('#spnhddw').html(jsonitem.hddw);
}
uexScanner.open();
varjsonData='{"lineImg":"res://line.png","pickBgImg":"res://pick_bg.png","tipLabel":"对准二维码/条形码,即可自动扫描","title":"扫一下"}';
uexScanner.setJsonData(jsonData);
})
*/
</script>
</html>
② 如何编译安装PHP扩展
一开始安装PHP的时候,我们并不知道需要哪些扩展,所以只有等到我们真正用到的时候才想办法去安装。
安装PHP扩展最简单的办法就是
sudo apt-get install php5-xxx
但有的时候并非我们所愿,源里面并没有我们需要的扩展,这时候就需要我们下载源码自己编译安装了。
这篇文章中我将介绍在本地Linux平台下编译安装PHP扩展的方法。
现在网站根目录下创建 index.php 打印基本的配置信息,以验证我们是否安装成功。
配置编译环境
我们需要安装一些编译必须的库,还有 php-dev 版本
Ubuntu
sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev
Fedora
sudo yum install php-devel php-mysqlnd gcc libtool
RHEL
sudo yum install php-devel php-mysql gcc libtool
Suse
yast2 -i php5-pear php5-devel php5-mysql gcc
安装扩展
PHP有两种可供安装的扩展:一种是PHP原生的但是默认没有安装的,另一种的第三方开发的扩展。
下面依次介绍两种扩展的安装方法:
安装之前我们需要一份和当前机器上相同版本的PHP源码
cd code
wget http://cn2.php.net/distributions/php-5.5.9.tar.bz2
tar xvjf php-5.5.9.tar.bz2
cd php-5.5.9
前往此处 下载相应的源码包。
在 /ext 目录下面可以看到所有PHP原生的扩展。
安装原生扩展
以 PHP-intl 为例,这是PHP国际化的扩展。
为了安装这个扩展我们需要先安装ICU 库
sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg
ICU 安装成功之后进入/ext/intl 目录:
cd intl
phpize
./configure --enable-intl
make
sudo make install
下面解释一下上面的每个命令:
phpize : 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure --enable-intl: 配置编译环境,相当于告诉编译器编译PHP源码的时候加上intl这个扩展。
make: 将会把源码编译成 intl.so
make install : 将会把 intl.so 移动到当前安装的 PHP 的扩展目录。
接下来我们要做的就是在php.ini中启用这个扩展,这一步将会在最后给出示例。
安装第三方扩展
将以这个 扩展为例,这个扩展主要实现了PHP识别条形码的功能。
先安装必要的依赖
sudo apt-get install pkg-config
git clone https://github.com/mongodb/mongo-php-driver
cd mongo-php-driver
phpize
./configure
make
sudo make install
将会生成一个文件,将其拷贝到PHP的扩展目录下面。
启用扩展
在php.ini中启用扩展的方式有很多:
直接在php.ini文件中添加 extension=mongo.so,这是最简单直接的方法。
也可以单独建一个ini文件,然后在php.ini中包含这些文件就可以了。
下面介绍一下第二种方法:
cd `/etc/php5/mods-available`
这个目录里可以放新建的ini文件,然后执行
sudo touch mongo.ini
echo "extension=mongo.so" | sudo tee -a mongo.ini
sudo touch intl.ini
echo "extension=intl.so" | sudo tee -a intl.ini
上面的命令将会创建ini文件,并且写如相应的配置信息。
然后执行下面的命令启用扩展即可(需要安装 php5enmod 工具):
sudo php5enmod mongo
sudo php5enmod intl
如果未安装 php5enmod 工具,则需要手动配置:
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini
ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini
ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini
最后在执行一下重启操作就可以了:
sudo service nginx restart
sudo service php5-fpm restart
③ 使用PHP CURL 模拟HTTP实现在线请求工具-toolfk程序员工具网
ToolFk,一款在线免费的程序员工具箱,无需安装任何软件,只需粘贴内容并点击执行按钮,即可获取所需结果。其功能覆盖广泛,包括但不限于:BarCode条形码在线生成、QueryList采集器、PHP代码在线运行、PHP混淆、加密、解密、Python代码在线运行、JavaScript在线运行、YAML格式化工具、HTTP模拟查询工具、HTML在线工具箱、JavaScript在线工具箱、CSS在线工具箱、JSON在线工具箱、Unixtime时间戳转换、Base64/URL/Native2Ascii转换、CSV转换工具箱、XML在线工具箱、WebSocket在线工具、Markdown在线工具箱、Htaccess2nginx转换、进制在线转换、在线加密工具箱、在线伪原创工具、在线APK反编译、在线网页截图工具、在线随机密码生成、在线生成二维码Qrcode、在线Crontab表达式生成、在线短网址生成、在线计算器工具等20多个日常开发工具,是一个非常全面的程序员工具箱网站。
访问网站:ToolFk.com
使用PHP CURL模拟HTTP实现在线请求的代码教学。该工具依赖于PHP CURL库,使用简单方便。核心代码包含文件写入、执行文件及关闭DOCKER等步骤。建议尝试。
详情链接:hihubs.com/article/364
④ 世界各国啤酒的条形码
以下是一些世界各国啤酒的条形码:
* 法国:300-379
* 南非:600-601
* 西班牙:84
* 葡萄牙:560
* 澳大利亚:930-939
* 奥地利:900-919
* 中国:690-695
* 美国:000-019、030-039、060-139
* 英国:500-509
* 德国:400-440
* 日本:450-459、490-499
* 俄罗斯:460-469
* 波兰:590-594
* 罗马尼亚:599
* 匈牙利:599
* 肯尼亚:616
* 埃及:621
* 伊朗:626
* 科威特:627
* 沙特阿拉伯:628
* 阿拉伯联合酋长国:629
* 以色列:729
* 危地马拉:740
* 萨尔瓦多:741
* 洪都拉斯:742
* 尼加拉瓜:743
* 哥斯达黎加:754-755
* 瑞士:760-769
* 巴西:789-790
* 意大利:800-839
* 西班牙:840-849
* 荷兰:870-879
* 印度:890
* 印度尼西亚:899
* 奥地利:900-919
* 新西兰:940-949
* 马来西亚:955
* 中国澳门:958
当然,这只是一部分,还有更多的国家和地区的条形码可以在此找到:https://www.barcodelookup.com/barcodes/country-codes.php
⑤ PHP查询代码怎么写
获取ip
function a() {
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
echo $ip;
}
限制:
我觉得应该:用户每次查询的时候就获取一次他的ip,ip++累计到三就提示他不能再进行访问。