为您找到搜索结果:4692个
mac os 下brew安装的php导致Swoole编译失败的问题
如果mac下编译出现如下类似错误:/usr/local/Cellar/php/7.4.11/include/php/Zend/zend_operators.h:523:10:error:'asmgoto'constructsarenotsupportedyet__asm__goto(^修改/usr/local/Cellar/php/7.4.12/include/php/Zend/zend_operators.h文件里的ZEND_USE_ASM_ARITHMETIC宏为0即可...
正则表达式简介及基本语法
语法基本字符在指定位置匹配单个的数字、小写字母或者大写字母,通过“-”表示前后范围,如[3-6]和[h-m]。形式说明[0123456789]匹配一个数字[0-9][a-z]匹配一个小写字母[A-Z]匹配一个大写字母[0-9a-zA-Z]匹配一个数字或者字母[^...]匹配一个非“...”中的字符,如[^0-9]元字符形式说明.匹配除换行符以外的任意字符d匹配数字D匹配非数字w匹配字母或数字或下划线W匹配非字母或数字或下划线非打印字符形式说明cx匹配由x指明的控制字符,x为字母,如cM匹配一个Control-M或回车符。f匹配一个换页符,等价于x0c和cL。匹配一个换行符,等价于x0a和cJ。匹配一个回车符,等价于x0d和cM。s匹配任意空白符,包括空格、制表符、换页符等,等价于[fv],此外,Unicode正则表达式会匹配全角空格符。S匹配非空白符,等价于[^fv]。匹配一个制表符,等价x09和cI。v匹配一个垂直制表符,等价于x0b和cK。定位符形式说明^匹配字符串的开始位置,如果设置了RegExp对象的Multiline属性,还将与...
PHP生成随机字符串的3种方法
在PHP中,生成随机字符串有多种方法。以下是几种常见的方法:1.使用rand()函数:可以使用rand()函数结合字符范围来生成随机字符串。<?php$characters='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890';$randomString='';$length=10;for($i=0;$i<$length;$i++){$randomString.=$characters[rand(0,strlen($characters)-1)];}echo$randomString;?>2.使用random_bytes()函数:可以使用random_bytes()函数生成安全的随机字符串。<?php$length=10;$randomString=bin2hex(random_bytes($length));echo$randomString;?>3.使用uniqid()函数:可以使用uniqid()函数生成基于时间的唯一字符串。<?php$prefix='';$suffi...
php接口签名验证
在做一些api接口设计时候会遇到设置权限问题,比如我这个接口只有指定的用户才能访问。很多时候api接口是属于无状态的,没办法获取session,就不能够用登录的机制去验证,那么大概的思路是在请求包带上我们自己构造好的签名,这个签名必须满足下面几点:a、唯一性,签名是唯一的,可验证目标用户b、可变性,每次携带的签名必须是变化的c、时效性,具有一定的时效,过期作废d、完整性,能够对数据包进行验证,防止篡改//设置一个公钥(key)和私钥(secret),公钥用于区分用户,私钥加密数据,不能公开$key="c4ca4238a0b923820dcc509a6f75849b";$secret="28c8edde3d61a0411511d3b1866f0636";//待发送的数据包$data=array('username'=>'abc@qq.com','sex'=>'1','age'=>'16','addr'=>'guangzhou','key'=>$key,'timestamp'=>time(),);//获取signfunctiongetSign($secr...
php 检查端口是否被占用
$ip='127.0.0.1';$port=9888;$sock=socket_create(AF_INET,SOCK_STREAM,SOL_TCP);socket_set_nonblock($sock);socket_connect($sock,$ip,$port);socket_set_block($sock);$return=@socket_select($r=array($sock),$w=array($sock),$f=array($sock),3);socket_close($sock);if($return==2){shell_exec("sudofuser-k-ntcp9888");shell_exec('phpwebserver.php');}var_dump($return); ...
php如何输出三角函数
php输出三角函数主要用到GD库和数学方法,请看下面代码:<?phpdefine("MAX_WIDTH_PIXEL",600);define("MAX_HEIGHT_PIXEL",240);//发送标头信息header("Content-type:image/gif");//建立图像$img=imageCreate(MAX_WIDTH_PIXEL,MAX_HEIGHT_PIXEL);//设定颜色$bgcolor=imageColorAllocate($img,0xff,0xe9,0xe9);$red=imageColorAllocate($img,255,0,0);$blue=imageColorAllocate($img,0,0,255);$brown=imageColorAllocate($img,100,0,0);$black=imageColorAllocate($img,0,0,0);$width=MAX_WIDTH_PIXEL/2;//宽度$height=MAX_HEIGHT_PIXEL/2;//高度//建立坐标轴imageLine($img,$width,0,$wi...
PHP trigger_error() 函数
trigger_error()函数创建用户自定义的错误消息。trigger_error()函数用于在用户指定的条件下触发一个错误消息。它可以与内建的错误处理程序一起使用,或者与由set_error_handler()函数设置的用户自定义函数一起使用。当您需要在运行脚本时的某个指定条件下自定义错误消息时,该函数很有用。如果指定了一个不合法的错误类型,该函数返回FALSE,否则返回TRUE。trigger_error(error_message,error_types)参数描述error_message必需。规定错误消息。长度限制为1024个字符。error_types可选。规定错误消息的错误类型。可能的错误类型:E_USER_ERROR-用户生成的运行时的致命错误。不能恢复的错误。停止执行脚本。E_USER_WARNING-用户生成的运行时的非致命警告。脚本没有停止执行。E_USER_NOTICE-默认。用户生成的运行时的通知。脚本发现可能是一个错误,但也可能在脚本正常运行时发生。<?php$test=2;if($test>1){trigger_error("Acustome...
PHP简单实现图片格式转换(jpg转png,gif转png等)
依赖php扩展gd和exif实现/***图片格式转换*@paramstring$image_path文件路径或url*@paramstring$to_ext待转格式,支持png,gif,jpeg,wbmp,webp,xbm*@paramnull|string$save_path存储路径,null则返回二进制内容,string则返回true|false*@returnboolean|string$save_path是null则返回二进制内容,是string则返回true|false*@throwsException*/functiontransform_image($image_path,$to_ext='png',$save_path=null){if(!in_array($to_ext,['png','gif','jpeg','wbmp','webp','xbm'])){thrownewException('unsupporttransformimageto'.$to_ext);}switch(exif_imagetype($image_path)){caseIMAGETYPE_GI...
正则表达式之任意字符
在正则表达式中,我们可以使用"."来表示任意字符。这个元字符可以匹配任意一个字符,除了换行符()。例如,正则表达式"a.b"将匹配"axb"、"acb"、"a@b"等字符串,因为"."可以匹配任意一个字符。 另外,我们还可以使用"[]"来表示任意一个字符。在方括号内,我们可以列出多个可能的字符,正则表达式会匹配其中的任意一个字符。例如,正则表达式"a[bcd]e"将匹配"abe"、"ace"、"ade"等字符串,因为方括号内的字符可以匹配任意一个字符。 除了上面介绍的方法外,我们还可以使用"w"来表示任意字母、数字或下划线字符,"d"表示任意数字字符,"s"表示任意空白字符。这些元字符可以帮助我们更方便地匹配包含特定字符的字符串。...
PHP代码-禁止IP访问网站
如果你想要禁止某一个国家的IP访问你的网站,请使用以下PHP代码:(如果是WP把这段代码加到Header.php中)<?php/****test.php(屏蔽国家IP)**/$verification='美国';//需要屏蔽国家的IPfunctionget_client_ip(){$ip=$_SERVER['REMOTE_ADDR'];if(isset($_SERVER['HTTP_X_REAL_FORWARDED_FOR'])&&preg_match('/^([0-9]{1,3}.){3}[0-9]{1,3}$/',$_SERVER['HTTP_X_REAL_FORWARDED_FOR'])){$ip=$_SERVER['HTTP_X_REAL_FORWARDED_FOR'];}elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR'])&&preg_match('/^([0-9]{1,3}.){...
php实现txt下载文件下载代码
{//echo"当前目录中,文件".$file."存在";header("Content-Disposition:attachment;filename=".$time.".txt");//告诉浏览器通过附件形式来处理文件header('Content-Length:'.filesize($file));//下载文件大小readfile($file);}else{echo"当前目录中,文件".$file."不存在";returnfalse;} ...
php禁止访问某个地区的IP
functioncheckIp(){$ip=egetip();$oldIp=getcvar('iplist');if($oldIp){Header("Location:".'/404.html');exit;}$setIps=ReturnPublicAddVar("jinyong_area");$citys=[];if(!empty($setIps)){if(strstr($setIps,'-')){$citys=explode('-',$setIps);}else{$citys=[$setIps];}//print_r($citys);exit;$res='';$res=file_get_contents("https://restapi.amap.com/v3/ip?key=7ad665ca654f32cb5c2e7363eeef36df56&ip=".$ip);$res=json_decode($res,true);$jinzhi=$citys;if($res['province']&&in_array($res['province'],$jinzhi))...
PHP实现随机图像功能
PHP随机图像实现的代码超级简单,短短四行就搞定了:<?php$img_array=glob('images/*.{gif,jpg,png,jpeg,webp,bmp}',GLOB_BRACE);if(count($img_array)==0)die('没找到图片文件。请先上传一些图片到'.dirname(__FILE__).'/images/文件夹');header('Content-Type:image/png');echo(file_get_contents($img_array[array_rand($img_array)]));?>以上的代码会查找 images 目录下的所有图片,并随机挑选出一张显示出来。...
php开发微信APP支付接口
1:用户在商户APP中选择商品,提交订单,选择微信支付。2:商户后台收到用户支付单,调用微信支付统一下单接口。参见【统一下单API】。3:统一下单接口返回正常的prepay_id,再按签名规范重新生成签名后,将数据传输给APP。参与签名的字段名为appid,partnerid,prepayid,noncestr,timestamp,package。注意:package的值格式为Sign=WXPay4:商户APP调起微信支付。api参见本章节【app端开发步骤说明】5:商户后台接收支付通知。api参见【支付结果通知API】6:商户后台查询支付结果。,api参见【查询订单API】首先呢我们需要拿到三个参数(appid,mch_id,key),这三个参数分别对应的是在微信开发平台中创建的移动应用appid,微信支付商户号,商户支付秘钥,详情看参考【支付结果通知API】然后我们先把统一下单所需要的参数列出来 $request_data=array('appid'=>C('WX_APPID'),#应用APPID'mch_id'=&g...
ereg_replace 正则表达式替换
(PHP4,PHP5)ereg_replace — 正则表达式替换说明string ereg_replace ( string $pattern , string $replacement , string $string )本函数在 string 中扫描与 pattern 匹配的部分,并将其替换为 replacement。返回替换后的字符串。(如果没有可供替换的匹配项则会返回原字符串。)如果 pattern 包含有括号内的子串,则 replacement 可以包含形如 digit 的子串,这些子串将被替换为数字表示的的第几个括号内的子串; 则包含了字符串的整个内容。最多可以用九个子串。括号可以嵌套,此情形下以左圆括号来计算顺序。如果未在 string 中找到匹配项,则 string 将原...