HTTP协议的特性:属于“请求-响应”模型,只有客户端发起了请求消息,服务器才能给出响应消息,没有请求,就没有响应;一个请求消息,服务器只能返回一个响应消息。有些特殊应用场景中,如“在线股票”、“聊天室”等,需要模拟呈现出“客户端不发请求,服务器也在不停的给出响应”效果,若使用HTTP协议,只能使用“AJAX+定时器”来近似的实现——心跳请求,问题:心跳过慢则信息的实效性差,心跳过快则服务器压力太大!
WebSocket协议的特性:属于“广播-收听”模型,只要客户端连接到服务器上,就不再断开(永久连接),一方可以不停的给对方发消息,...
批量下载文件一般使用循环的方式,逐一执行下载。但在带宽与服务器性能允许的情况下,使用多进程进行下载可以大大提高下载的效率。本文介绍php利用curl的多进程请求方法,实现多进程同时下载文件。
原理:使用curl的批处理方法,开启多进程,实现批量下载文件。
主要方法:
curl_multi_init
返回一个新cURL批处理句柄
curl_multi_add_handle
向curl批处理会话中添加单独的curl句柄
curl_multi_exec
运行当前 cURL 句柄的子连接
curl_multi_getcontent
如果设置了CURLOPT_RETURNTRANSFER,则返回获取的输出的文本流
curl_multi_remove_handle
移除curl批处理句柄资源中的某个句柄资源
cu...
问题:使用GD库imagettftext()函数时,报“Warning: imagettftext(): Could not find/open font in ”警告 。
解决方案:找了很久,发现是GD库加载字体文件时,需求提供绝对路径,给font路径用realpath()将相对路径转成绝对路径即可。
imagettftext($im,mt_rand(12,14),mt_rand(-30,30),20*$i+10,18,$fontcolor,realpath($fontface),$codex);
imagettftext() 函数是 PHP 中的一个内置函数,用于使用 TrueType 字体将文本写入图像。
句法:
数组 imagettftext($image,float $size,float $angle,int $x,int $y,int $color,string $fontfile,string $text)
参数:此函数接受上述八个参数,如下所...
$arr_chu = array(
array('1.02','0.25','0.8'),
array('0.96','0.25','0.88'),
array('0.92','0.25','0.92'),
array('0.76','0.5','1.10'),
array('0.82','0.25','1.03'),
array('0.83','0.5','0.92'),
array('1.00','0.25','0.82'),
array('0.85','0.5','1.00')
);
echo '<pre>';
print_r(array_count_values(array_column($arr_chu,1)));...
没啥好说的,直接上代码就完了,都能看懂!
$re = $conn->query("SELECT id,catename FROM category");
if (mysqli_num_rows($re) > 0) {
while ($rs = mysqli_fetch_array($re,MYSQLI_ASSOC)) {
$arr[] = $rs;
}
echo json_encode($arr,JSON_UNESCAPED_UNICODE);
mysqli_free_result($re);
}
顺便说一句,我这里用的PHP版本是7.0以上的。...
定期备份你的数据库总是一种好的做法。有三种方法可以使用备份你的 MySQL 数据库。
通过 PHP 使用 SQL 命令。
使用 MySQL 二进制通过 PHP mysqldump。
使用 phpMyAdmin 的用户界面。
通过 PHP 使用 SQL 命令
可以执行 SQL SELECT 命令完成任何表的备份。把一个完整的数据库存储您需要为单独的表编写单独的查询。每个表将存储到单独的文本文件中。
试试以下的例子使用 SELECT INTO OUTFILE 查询用于创建表的备份:
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) ...
1、IIS中直接通过添加映射模块,fastcgi模式
2、php.ini文件
找到extension_dir = "D:phpext"这里的路径为你的php文件夹
short_open_tag,值改为on,否则你的php代码必须以
3、如果配置好以后还是提示500之类的错误,打开php目录,双击里边的php.exe,如果提示缺少运行库,则请安装vc++2015以上库就可以了
4、php使用mysqli_connect无法使用时,查找mysqli.reconnect = Off,将Off改为On
PHP+IIS上传问题
一、PHP默认设置post_max_size为2MB,超过就会出现500错误。
二、PHP中max_file_uploads和upload_max_filesize均需修改
三、IIS设置中出现“请求...
①第一种加密解密算法
<?php
function encryptDecrypt($key, $string, $decrypt){
if($decrypt){
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($string), MCRYPT_MODE_CBC, md5(md5($key))), "12");
return $decrypted;
}else{
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
return $encrypted;
}
}
//加密:"z0JAx4qMwcF+db5TNbp/xwdUM84snRsXvvpXuaCa4...
updateTime.ini
#更新时间记录
[fileUpdateTime]
time = ""
[sqlOtherUpdateTime]
time = "2022-06-08"
[sqlUpdateTime]
time = "2022-05-15"
//方法一
function write_ini_file($array, $file) {
$res = array();
foreach($array as $key => $val) {
if(is_array($val)) {
$res[] = "[$key]";
foreach($val as $skey => $sval) {
$res[] = "$skey = ".(is_numeric($sval) ? $sval : '"'.$sval.'"');
}
} else {
$res[] = "$key = ".(is_numeric($val) ? ...
<form method="post" id="sform" name="sform" action="do.php?x=save">
<table width="100%" cellpadding="10" cellspacing="1" align="center" border="0" bgcolor="#A8BCF3">
<tr bgcolor="#ffffff">
<td>
<span id="imgSelectBox"><input type="file" id="imgsrc" name="imgsrc" value="" /></span> <input type="hidden" id="uploadimg" name="uploadimg" value="" />
</td>
</tr>
<tr bgcolor="#ffffff">
<td>
<input type="submit" id="sSubmit" name="sSubmit" value="保存记录" />
</td>
...
此处使用的是php+sqlite
$jsonFile = 'test.json';
if (file_exists($jsonFile)) {
@unlink($jsonFile);
}
$re = $db->query("SELECT id,companyname FROM companylist ORDER BY id DESC");
while ($rs = $re->fetch(PDO::FETCH_OBJ)) {
$jsonArray[] = $rs;
}
$strjson = json_encode($jsonArray,JSON_UNESCAPED_UNICODE);//中文不强制转义
$fp = fopen($jsonFile,'w');//此处$jsonFile可以使用目录等设置
fputs($fp, $strjson);
fclose($fp);...
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//设置是否将响应结果存入变量,1是存入,0是直接echo
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);//在发起连接前等待的时间,如果设置为0,则无限等待。
curl_setopt($ch, CURLOPT_TIMEOUT, 15);//允许执行的最长秒数。
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);//伪造浏览器头信息
curl_setopt($ch, CURLOPT_REFERER,$_REFERER);//伪造来源页面
curl_setopt($ch, CURLOPT_URL, $url);
$htmlSource = curl_exec($ch);
//$h...
HTTP-REFERER这个变量已经越来越不可靠了,完全就是可以伪造出来的东东,以下是伪造方法: 以下是ASP代码:【复制】
dim http set http=server.createobject("MSXML2.XMLHTTP") '//MSXML2.serverXMLHTTP也可以 Http.open "GET",url,false Http.setRequestHeader "Referer","http://www.dc9.cn/" Http.send()PHP代码PHP(不装curl用sock) 以下是PHP代码:【复制】
$ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, "http://www.dc9.cn/xxx.asp"); curl_setopt ($ch, CURLOPT_REFERER, "http://ww...
类别:网页编程 查看:133
更新:2014-06-05
PHP的isset()函数 一般用来检测变量是否设置
格式:bool isset ( mixed var [, mixed var [, ...]] )
功能:检测变量是否设置
返回值:
若变量不存在则返回 FALSE
若变量存在且其值为NULL,也返回 FALSE
若变量存在且值不为NULL,则返回 TURE
同时检查多个变量时,每个单项都符合上一条要求时才返回 TRUE,否则结果为 FALSE
版本:PHP 3, PHP 4, PHP 5
更多说明:
使用 unset() 释放变量之后,它将不再是 isset()。
PHP函数isset()只能用于变量,传递任何其它参数都将造成解析错误。
检测常量是否已设置可使用 defined() 函数。
PHP的empty()函数 判断值为否为空
格...
Quickstart Guide
In the desired position on your form, add the following code to display the CAPTCHA image:
<img id="captcha" src="/securimage/securimage_show.php" alt="CAPTCHA Image" />
Next, add the following HTML code to create a text input box:
<input type="text" name="captcha_code" size="10" maxlength="6" />
Note: You can change the maxlength and size properties to match your image settings.
The next step is optional, but can be useful to your users if they cannot re...
<?php
function get_ip_place(){
$ip=file_get_contents("http://fw.qq.com/ipaddress");
$ip=str_replace('"',' ',$ip);
$ip2=explode("(",$ip);
$a=substr($ip2[1],0,-2);
$b=explode(",",$a);
return $b;
}
$ip=get_ip_place();
print_r($ip);
?>
必须在联网的条件下使用,使用腾迅的一个api,即http://fw.qq.com/ipaddress,打开这个地址看看:var IPData = new Array("117.80.36.111","","江苏省","苏州市");
然后用php进行了简单的处理,使返回的结果用数组形式显示:
即Array ( [0] =>117.80.36.111 [1] => [2] => 江苏省...