0 462 2020-12-31 01:06:49
收藏<?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目录下,自动读取images图片并输出。
PHP随机图片API远程图片版,页面直接输出图片
<?php $imgku=file('pic.txt'); showImg($imgku[array_rand($imgku)]); /* * php 页面直接输出图片 */ function showImg($img){ $img = trim($img); $info = getimagesize($img); $imgExt = image_type_to_extension($info[2], false); //获取文件后缀 $fun = "imagecreatefrom{$imgExt}"; $imgInfo = $fun($img); //1.由文件或 URL 创建一个新图象。如:imagecreatefrompng ( string $filename ) //$mime = $info['mime']; $mime = image_type_to_mime_type(exif_imagetype($img)); //获取图片的 MIME 类型 header('Content-Type:'.$mime); $quality = 100; if($imgExt == 'png') $quality = 9; //输出质量,JPEG格式(0-100),PNG格式(0-9) $getImgInfo = "image{$imgExt}"; $getImgInfo($imgInfo, null, $quality); //2.将图像输出到浏览器或文件。如: imagepng ( resource $image ) imagedestroy($imgInfo); } ?>
需安装GD库及exif扩展,php.ini中开启allow_url_fopen函数,读取同目录下pic.txt文件中的图片网址,每行一个图片地址。
COOKIE限制时间再次提交
if(isset($_COOKIE['submission_time'])) { $submissionTime = $_COOKIE['submission_time']; $currentTime = time(); $timePassed = ($currentTime - $submissionTime ) / 60 * 60; if($timePassed < 24 ) { echo "<div class='alert alert-warning'>You can record the sales after 24 hours! Please wait..</div>"; die(); } }else { $cookieName = 'submission_time'; $cokkieValue = time(); setcookie($cookieName, $cokkieValue, time() + (+60*60*24*30 ), "/"); }
判断字符串是否含有某分割符,若包含分割符,分割后输出全部分割后的值
if(strpos($qcont,',') === false){ echo "不包含,分割字段"; }else{ echo "包含,分割字段,下面进行切割并输出"; $qcontArr = explode(",", $qcont); $qcontcount = count($qcontArr); for ($i = 0; $i < $qcontcount; $i++) { if ($qcontArr[$i] == "") { continue; } echo $qcontArr[$i]; } }
对错误的详情进行格式化输出,记入log文件。
function slog($logs){ $toppath="log.htm"; $Ts=fopen($toppath,"a+"); fputs($Ts,$logs."rn"); fclose($Ts); }使用file_get_contents() 发送GET、POST请求
1、【GET请求】
$data = array( 'name'=>'zhezhao','age'=>'23'); $query = http_build_query($data); $url = 'http://localhost/get.php';//这里一定要写完整的服务页面地址,否则php程序不会运行 $result = file_get_contents($url.'?'.$query);
2、【POST请求】
$data = array('user'=>'jiaxiaozi','passwd'=>'123456'); $requestBody = http_build_query($data); $context = stream_context_create(['http' => ['method' => 'POST', 'header' => "Content-Type: application/x-www-form-urlencodedrn"."Content-Length: " . mb_strlen($requestBody), 'content' => $requestBody]]); $response = file_get_contents('http://server.test.net/login', false, $context);PHP获取当天是几号、周几
echo date('y').'</br>'; //当前年份 echo date('m').'</br>'; //当前月份 echo date('d').'</br>'; //当前日 echo date('s').'</br>'; //当前秒 echo date('w').'</br>'; //当前周几
打印结果显示为:
20 07 24 50 5PHP给第三方接口POST或GET方式传输数据并得到返回值
function Post($url, $post = null) { $context = array(); if (is_array($post)) { ksort($post); $context['http'] = array ( 'timeout'=>60, 'method' => 'POST', 'content' => http_build_query($post, '', '&'), ); } return file_get_contents($url, false, stream_context_create($context)); } $data = array ( 'name' => 'test', 'email' => 'test@gmail.com', 'submit' => 'submit', ); echo Post('http://www.baidu.com', $data);
同一页面24小时之内之只能执行一次
define('TIME_OUT', 86400); //定义重复操作最短的允许时间,单位秒 @session_start(); $time = time(); if( isset($_SESSION['time']) ){ if( $time - $_SESSION['time'] <= TIME_OUT ){ echo '<script type=text/javascript>alert("在24小时内只能执行一次!");</script>'; exit(); } } $_SESSION['time'] = $time; echo "正常执行!";PHP连接远程MSSQL函数:
已在如上环境安装后测试通过!
function mssql_user($username){ $host="远程服务器IP,MSSQL端口"; $dbname="数据库名称"; $user="数据库用户名"; $pass="数据库密码"; try { $dbh = new PDO("sqlsrv:Server=$host;Database=$dbname", $user, $pass); } catch(PDOException $e) { echo $e->getMessage(); exit; } $stmt = $dbh->prepare("SELECT XXX FROM XXX WHERE XXX = ".$username); $stmt->execute(); while ($row = $stmt->fetch()) { echo $row[0];//多个查询结果输出 //return $row[0]; 单一的结果可以直接用return } unset($dbh); unset($stmt); }PHP时间戳和日期相互转换
获取当前日期时间的时间戳
echo time();
获取当前日期时间
echo date("Y/m/d H:i:s");
日期转换为时间戳
echo strtotime(date("Y/m/d"));
时间戳转换为日期
echo date('Y-m-d',time());
打印明天此时的时间戳
echo strtotime("+1 day");
当前时间:
echo date("Y-m-d H:i:s",time()) ;指定时间:
echo date("Y-m-d H:i:s",strtotime("+1 day")) ;
下个星期此时的时间戳
echo strtotime("+1 week");
指定下星期几的PHP时间戳
echo strtotime("next Thursday");
指定下星期几的时间:
echo date("Y-m-d H:i:s",strtotime("next Thursday"));
指定上星期几的时间戳
echo strtotime("last Thursday");
指定本年的最后一个星期几的时间:
echo date("Y-m-d H:i:s",strtotime("last Thursday"));截取指定两个字符之间的字符串
方法一
function cut($begin,$end,$str){ $b = mb_strpos($str,$begin) + mb_strlen($begin); $e = mb_strpos($str,$end) - $b; return mb_substr($str,$b,$e); }
方法二
function get_between($input, $start, $end) { $substr = substr($input, strlen($start)+strpos($input, $start),(strlen($input) - strpos($input, $end))*(-1)); return $substr; }
方法一当截取的是值为串的时候,会出现截取不到的情况用方法二尝试。
方法三:preg_match_all函数
preg_match_all('/<Epoch>(.*)</Epoch>/', $result, $matches); //print_r($matches); $resultapp = $matches[1][1];
方法一及方法二在截取长段字符串时,碰到过无法截取到的情况,用方法三解决。
调用SOHU API获取IP地址
//通过API获取IP地址 function getIP(){ $str = file_get_contents('https://pv.sohu.com/cityjson?ie=utf-8'); $ip = cut('cip": "','", "cid',$str); if($ip){ return $ip; } }
注:需配合上面 截取指定两个字符之间的字符串 函数一起使用
获取访问客户端的IP地址
function get_client_ip(){ static $realip; if (isset($_SERVER)){ if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){ $realip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } else if (isset($_SERVER["HTTP_CLIENT_IP"])) { $realip = $_SERVER["HTTP_CLIENT_IP"]; } else { $realip = $_SERVER["REMOTE_ADDR"]; } } else { if (getenv("HTTP_X_FORWARDED_FOR")){ $realip = getenv("HTTP_X_FORWARDED_FOR"); } else if (getenv("HTTP_CLIENT_IP")) { $realip = getenv("HTTP_CLIENT_IP"); } else { $realip = getenv("REMOTE_ADDR"); } } return $realip; }
本文地址:https://xzo.com.cn/develop/php/529.html
如果您认可我们的分享,有意与我们合作开展帝国cms网站建设与开发业务或插件定制,请联系右侧在线客服。我们能给您的,就是高质量的模板与售后。
标注了信息来源为下载鸥的文章皆为原创,如果是转载的优质文章,我们也都标注了出处。如果您喜欢我们的文章,请按照下载鸥所标注的文章出处进行标注,谢谢您的配合。
PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。
PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。
在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...
任何站点但凡有点流量就会遇到这种情况:首页被人用问号传了参数,恰恰还被收录...
互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...
今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...
数组在实际开发过程中运用非常频繁,通过合理运用数组,我们可以顺利实现各种数...
通俗的说,现在有结果A B C D E,每个结果代表不同的意义,此时我们可以用if else...
isset() 函数用于检测变量是否已设置并且非 NULL。如果已经使用 unset() 释...
今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...
帝国cms 对接纳米数据(www.nami.com)接口,本接口主要接收、整理足球比赛实时数...
帝国cms有自带的给关键词添加内链功能,但需要手动添加关键词,容易出现疏漏和...
采集站的必备资源是自动审核,要做到日收录也离不开定时发布。而本插件的自动...
百度开放了系列AI功能api如图像上色、图像去雾、图像修复、无损放大、清晰...
使用帝国cms的企业用户、新闻资讯类站点的用户很多,此类站点很多时候需要有...
通过本插件,可以实现帝国cms网站对接百度云api实现图像清晰度增强的功能。经...
帝国cms默认只有上次登录时间与ip,没有一个记录清单,所以今天,我们分享这个帝...
许多网站会做一些小功能小插件给客户使用以增强用户黏性,比如图片转文字,这种...