附加功能-----发布交友信息

mixnet 网络代码: https://github.com/romulus0914/MixNet-Pytorch/blob/master/mixnet.py https://github.com/rwightman/pytorch-image-models/blob/d4debe6597556be36645df18650285cfad1f7ae9/timm/models/gen_effici... 阅读详情

//思路比较简单,用户填写自己的信息,并上传图像(后台生成缩略图),然后图像可以立即无刷新的回显

下面这个事上传和缩略图的类,比较简单:


<?php 
require_once "sql.tool.php";
class Picture
{
	//上传文件
	private $upfile;
	//保存后的源文件
	private $img;
	//上传文件的类型
	private $fileType;
	//上传图片保存的路径
	private $path;
	//上传图片的名字
	private $fname;
	//缩略图的宽度
	private $width;
	//缩略图的高度
	private $height;
	
	//错误信息
	private $noticeMsg=null;
	private $sql;
	public function __construct($upfile)
	{
		$config = require "config.php";
		$this->width=$config['image']['width'];
		$this->height=$config['image']['height'];
		if(is_uploaded_file($upfile['tmp_name']))
		{
			$this->upfile = $upfile;
		}
		else
		{
			$this->noticeMsg = '非法文件';
		}
		$this->sql = new Sql();
		$this->moveFile();
		$this->zoomInPic();
		echo "<script> parent.document.getElementById('feedback').innerHTML='{$this->noticeMsg}'</script>";
	}
	private function checkFilesStatus()
	{
		//上传失败,分析原因
		if($this->upfile['error']>0)
		{
			switch($this->upfile['error'])
			{
				case 1:
					//超过表单定义的MAX_FILE_SIZE
					$this->noticeMsg = '文件太大';
					break;
				case 2:
					//超过系统定义,php.ini中设定的
					$this->noticeMsg = '文件太大';
					break;
				case 3:
					$this->noticeMsg = '文件不完整';
					break;
				case 4:
					$this->noticeMsg = '文件为空';
					break;
			}
			return 0;
		}
		else
		{//上传成功
			$this->noticeMsg = '上传成功';
			return 1;
		}
	}
	//检测上传文件类型
	private function checkFileType()
	{
		$fileType = strtolower(substr(strchr($this->upfile['name'],'.'),1));
		$this->fileType = $fileType;
		$defaultType=array('jpg', 'jpeg', 'png', 'gif');
		if(!in_array($fileType, $defaultType)) 
		{
			$this->noticeMsg='文件类型不对';
			return 0;
		}
		return 1;
	}
	//保存上传文件
	private function moveFile()
	{
		if($this->checkFilesStatus() && $this->checkFileType())
		{
			$dirName = './upload/'.date("Ymd");
			if(!is_dir($dirName))
			{	
				mkdir($dirName,0777, true);
			}
			$toFileName = $dirName."/".time().mt_rand(1,500).$this->upfile['name'];
			$this->path = $dirName;
			if(!move_uploaded_file($this->upfile['tmp_name'], $toFileName)) 
			{
				die('移动文件失败');//系统错误
			}
			else
			{
				$this->img = $toFileName;
			}
		}
	}
	private function fileName()
	{
		$fname = basename($this->upfile['name'], strchr($this->upfile['name'], '.'));
		$this->fname = time().mt_rand(1,500).$fname.'small';
	}
	//生成图片缩略图
	private function zoomInPic()
	{
		$src;
		$this->fileName();
		switch($this->fileType)
		{
			case 'jpg':
			case 'jpeg':
				$src = imagecreatefromjpeg($this->img);
				break;
			case 'gif':
				$src = imagecreatefromgif($this->img);
				break;
			case 'png':
				$src = imagecreatefrompng($this->img);
				break;
			
		}
		//获取上传图片的宽和高
		$src_w = imagesx($src);
		$src_h = imagesy($src);
		//生成缩略图
		//在属性里定义缩略图的宽和高,并将原图按照比例缩放
		//缩放算法是: 新宽/原宽 = 新高/原高,这样就能等比例缩放了.....
		/* if($src_w > $src_h)
		{
			$new_w = $this->width;
			$new_h = ceil(($this->width/$src_w)*$src_h);
		}
		else
		{
			$new_h = $this->height;
			$new_w = ceil(($this->height/$src_h)*$src_w);
		} */
		$new_h = $this->height;
		$new_w = ceil(($this->height/$src_h)*$src_w);
		
		$paint = imagecreatetruecolor($new_w, $new_h);
		imagecopyresampled($paint, $src, 0,0,0,0, $new_w, $new_h, $src_w, $src_h);
		//在原图上保存缩略图
		switch($this->fileType)
		{
			case 'jpg':
			case 'jpeg':
				$src = imagejpeg($paint, $this->path.'/'.$this->fname.'.'.$this->fileType);
				break;
			case 'gif':
				$src = imagegif($paint, $this->path.'/'.$this->fname.'.'.$this->fileType);
				break;
			case 'png':
				$src = imagepng($paint, $this->path.'/'.$this->fname.'.'.$this->fileType);
				break;
		}
		//释放资源
		imagedestroy($paint);
		sleep(2);
		unlink($this->img);
		//因为返回的是img链接资源,所以可以省略HEADER头部
		$this->noticeMsg="<img src=".$this->path.'/'.$this->fname.'.'.$this->fileType.">";
		$sources = $this->path.'/'.$this->fname.'.'.$this->fileType;
		$this->sql->setImage("$sources");
	}
	
}

?>

下面这个事前段页面:


<html>
<head>
<style type="text/css">
*{margin:0; padding:0;}
div#formarea{margin-left: 400px;}

div#upload{position:relative ; left:590px; top:5px;}
div#uparea{border:2px solid #826858; width:120px; height:160px;background-color:#f2eada;}
input#pic{margin-top:60px; border: 0px; margin-left:10px; width:60px; font-size:12px; background-color:#f2eada; filter:Alpha(opacity=10);}
span#feedback{position:absolute; top:0px; left:5px; color:#a00000;z-index:5;}
input#submit{position:relative ; left:70px; top:-20px;}

div#userinfo{position:absolute;left: 405px;top:110px;width:710px; height:300px; border:2px solid #f2eada;}
p#username{margin-top:5px;}
input#username{width:300px; height:30px;}

p#sex{margin-top:5px;}

p#hobby{margin-top:8px;}
input#hobby{width:300px; height:30px;}

p#jpb{margin-top:10px;}
input#job{width:300px; height:30px;}

p#intro{margin-top:20px;}
span#intro{position:relative; top:-100px;}

input#pub{width:60px; height:30px; position:relative; left:530px; top:-32px; }
</style>
<script type="text/javascript">
function process()
{
	document.getElementById("feedback").innerHTML="<img src='../image/loading.gif' width='30px'  />";
}
</script>
<head>

<body bgcolor="#RGB(67,65,65)">
<img src="../image/friend.jpg" style='margin-left:400px;'>
<div id="formarea">

<div id="userinfo">
<form action="upfile.process.php" method="post">
<input type="hidden" name="uploadtype" value="userinfo" >
<p id="username" >姓名:  <input type="text" id="username" name="username"></p>
<p id="sex">性别:  <input type="radio" name="sex" value="男" checked="checked">男<input type="radio" name="sex" value="女">女<input type="radio" name="sex" value="*">保密</p>
<p id="hobby">爱好:  <input type="text" id="hobby" name="hobby"></p>
<p id="jpb">职业:  <input type="text" id="job" name="job"></p>
<p id="intro"><span id="intro">个人简介</span><textarea cols="60" rows="8" id="intro" name="intro"></textarea></p>
<input type="submit" id="pub" value="发布">
</form>
</div><!-- 用户信息-->

<div id="upload">
<form action="upfile.process.php" method="post" enctype="multipart/form-data" target='frameworks' onsubmit="return process();" >
<div id="uparea">
<input type="hidden" name="MAX_FILE_SIZE" value="2100000">
<input type="file" name="pic" id="pic" /><br />
<span id="feedback"></span>
<input type="hidden" name="uploadtype" value="userpic" >
<input type="submit" value="上传" id="submit"><br />
</div><!--uparea-->
</form>
<div><!-- 上传区域-->


</div><!--表单区域-->
<iframe name='frameworks' style='border:0; frameborder:0; display:hidden;'>
</iframe>
</body>
</html>

//这个类功能比较杂,因为我写的一个意见反馈的数据库操作也封装在这里了。。对于这个交友模块,这个类主要负责把用户上传的图像的路径保存到数据库里


<?php 
class Sql
{
	private $host;
	private $username;
	private $passwd;
	private $dbname;
	private $tablename;
	
	private $conn;
	public $errMsg=0;
	
	public function __construct()
	{
		$config = require "config.php";
		$this->host = $config['db']['host'];
		$this->username = $config['db']['username'];
		$this->passwd = $config['db']['passwd'];
		$this->dbname = $config['db']['dbname'];
		$this->tablename = $config['db']['tablename'];
		
		$this->conn = new mysqli("{$this->host}", "{$this->username}", "{$this->passwd}");
		if(!$this->conn) $this->errMsg="链接数据库失败";
		$this->conn->select_db("{$this->dbname}");
		$this->conn->query("SET NAMES utf8");
	}
	 public function setInfo($name='', $sex='', $hobby='', $job='', $intro='')
    {
		session_start();
		$last_insert_id = $_SESSION['uid'][0];
		$sql = "UPDATE {$this->tablename} SET name='$name' , sex ='$sex', hobby='$hobby', job='$job', intro='$intro' WHERE id = {$last_insert_id} ";
		//file_put_contents("info.txt", $sql."\r\n",FILE_APPEND);exit();
		$this->conn->query($sql);
		if($this->conn->affected_rows <=0)
		{
			$this->errMsg = "用户信息插入数据库失败";
		}
    }
        public function setImage($image='')
        {
            $sql = "INSERT INTO {$this->tablename}(image)  VALUES('$image')";
			$this->conn->query($sql);
			if($this->conn->affected_rows > 0)
			{
				$result = $this->conn->query("SELECT LAST_INSERT_ID() FROM $this->tablename");
				$last_insert_id = $result->fetch_row();
				session_start();
				$_SESSION['uid']= $last_insert_id ;
				$result->free();
			}
			else
			{
				$this->errMsg = "用户图片插入数据库失败";
			}
        }
		public function setAdvice($advice)
		{
			$sql = "INSERT INTO advice(adv) VALUES('$advice')";
			$this->conn->query($sql);
			if(!($this->conn->affected_rows>0)) $this->errMsg='用户建议插入失败';
		}
		public function getAdvice()
		{
			$sql = "SELECT adv FROM advice";
			$result = $this->conn->query($sql);
			$advices;
			while($row = $result->fetch_row())
			{
				$advices[]=$row;
			}
			$result->free();
			return $advices;
		}
	public function getInfo()
	{
		$sql = "SELECT * FROM {$this->tablename}";
		$result = $this->conn->query($sql);
		$info;
		if(!($this->conn->affected_rows > 0))
		{
			$this->errMsg = '获取用户信息失败';
		}
		while($row = $result->fetch_assoc())
		{
			$info[]=$row;
		}
		$result->free();
		return $info;
	}
	
}
?>

//下面这个事控制器


<?php 
require_once "upfile.class.php";
require_once "sql.tool.php";
if($_POST['uploadtype']=="userpic")
{
	if(!empty($_FILES['pic']['name']))
	{
		$picture = new Picture($_FILES['pic']);
	}
}
else if($_POST['uploadtype']=="userinfo")
{
	$sql = new Sql();
	if(!empty($_POST['username']) && !empty($_POST['sex']) && !empty($_POST['hobby']) && !empty($_POST['job']) && !empty($_POST['intro']))
	{
		$username = $_POST['username'];
		$sex = $_POST['sex'];
		$hobby = $_POST['hobby'];
		$job = $_POST['job'];
		$intro = $_POST['intro'];
		$sql->setInfo("$username", "$sex", "$hobby", "$job", "$intro");
		if($sql->errMsg ==0)
		{
			header("Location: homepage.php");
			exit();
		}
		else
		{
			echo $sql->errMsg;
		}
	}
	else
	{
		echo "<script>alert('输入不能为空'); history.go(-1)</script>";
	}
}
?>
//下面这个是显示交友信息的页面


<html>
<head>
<style type="text/css">
*{margin:0px; padding:0px;}
div#layout{margin-left:415px; margin-top:5px; width:700px; }
div#user{width:680px; height: 162px; border:1px solid #cde6c7;background-color:#918597;}
div#info{position:relative; top:-146px; left: 200px;}

p#name{margin-top:-3px;}
p{margin-top: 12px; color:#56452d; }
p#intro{margin-bottom:12px;}

span{color:#6950a1;margin-left:30px;}
span#image{margin-left:1px; margin-bottom: 0px; height:162px;}
</style>
<head>

<body bgcolor="#RGB(67,65,65)">
<img src="../image/addfriend.jpg" style='margin-left: 400px; margin-top:1px;'>
<div id="layout">
<?php
require_once "sql.tool.php";
$sql = new Sql();
$items = $sql->getInfo();
foreach($items as $item)
{
	echo "<div id='user'>
		  <span id='image'><img src=\"{$item['image']}\"></span>
		  <div id='info'>
		  <p id='name'>姓 名: <span id='name'>{$item['name']}</span></p>
		  <p id='sex'>性 别: <span id='sex'>{$item['sex']}</span></p>
		  <p id='hobby'>爱 好: <span id='hobby'>{$item['hobby']}</span></p>
		  <p id='job'>职 业: <span id='job'>{$item['job']}</span></p>
		  <p id='intro'>简 介: <span id='intro'>{$item['intro']}</span></p>
		  </div></div><br />";
}
?>
</div>
</body>
</html>

//本人的前段代码写的是在是一般般,也没有夸浏览器调试,主要是在chrome下试过,界面可能在不同的浏览器下显示会存在一些差异

微信社交交友小程序开发实战教程 微信小程序的项目文件结构一般包括以下几个部分:app.js:小程序逻辑。app.json:小程序公共设置。app.wxss:小程序公共样式表。pages/:存放小程序页面相关文件的目录,每个页面由四个文件组成:page.js:页面的逻辑。page.json:页面的配置。page.wxml:页面的结构。page.wxss:页面的样式表。此外,还包括一些资源文件如图片、字体等,以及第三方库或组件。 阅读详情

相关推荐

IROS 2025机器人技术解析:从诡异设计到硬核应用

机器人技术正从传统的结构化环境应用,迈向复杂非结构化场景的深度交互。其核心原理在于通过仿生设计、多模态感知与智能控制算法,赋予机器人类似生物的适应性与交互能力。这一技术演进的价值在于突破传统机器人在极端环境、精密操作和自然交互中的瓶颈。例如,结合深度强化学习的全身动力学控制,使机器人能在废墟、管道等复杂地形中自主导航;而软体机器人技术则通过材料变形实现安全、柔顺的抓取操作。这些技术最终服务于极端环境巡检、精密装配和高端陪护等刚性应用场景,推动机器人从功能实现迈向与环境、人进行深度、智能交互的新阶段。

weixin_34006468的博客 449

交友网站毕业设计基于SpringBootSSM框架

本研究设计并实现了一个基于JAVA的校园交友平台,采用B/S架构,使用Java作为主要开发语言,结合Spring Boot框架进行后端开发,前端则采用Vue.js构建动态和响应式的用户界面。数据库方面,采用MySQL技术创建和管理数据,确保数据的稳定性和安全性。 平台的主要功能模块包括用户认证、信息发布、即时通讯、隐私保护等,通过这些功能模块的集成,为用户提供了一个安全、便捷的交友环境。网站实现了用户注册与登录、个人信息管理、好友管理、即时聊天、动态发布与浏览、活动发布与参与等核心功能。同时,我们还注重了

计算机程序开发设计 1581

Reactor 响应式编程(第一篇:Reactor核心)

响应式:响应式编程: 全异步、消息、事件回调默认还是用当前线程,生成整个流、发布流、流操作.log();//只要不指定线程池,默认发布者用的线程就是订阅者的线程;

moments的博客 1572

社交交友源码:功能剖析、盈利探索与绿色运营策略

社交交友APP的核心功能包括即时通讯、用户匹配和动态分享,满足用户多样化社交需求;创新功能如虚拟形象互动、视频认证等提升用户体验。盈利模式涵盖会员订阅、虚拟礼物、广告及增值服务。绿色运营策略强调内容审核、用户监管、未成年人保护和数据安全,确保平台健康可持续发展。

m0_62969882的博客 949

MIMO-OFDM 通信-感知一体化(ISAC)中的联合优化与性能权衡

本文深入探讨了MIMO-OFDM技术在通信-感知一体化(ISAC)系统中的核心作用与挑战。文章分析了如何通过联合优化资源分配、波束成形与波形设计,在有限的频谱与硬件资源下,实现通信速率与感知精度之间的最佳平衡,并指出了工程实践中面临的同步、干扰等关键难题。

dapp9builder的博客 215

Git救援:如何从误操作中恢复未提交的更改

摘要:本文探讨了误操作git reset --hard导致未提交更改丢失后的恢复方法。首先分析git reflog的局限性,随后介绍利用IDE本地历史记录(如IntelliJ IDEA和VS Code)进行文件恢复的具体步骤。最后建议使用文件系统恢复工具(如Linux的extundelete或Windows的Recuva)作为备选方案。文章强调定期提交的重要性,同时提供了意外发生时可行的恢复策略,帮助开发者尽可能挽回丢失的工作内容。(149字)

2501_90323865的博客 129

AI 辅助开发实战:基于大模型高效构建「交友聊天系统毕设」的技术路径与避坑指南

通过这次 AI 辅助开发实践,我深刻感受到,工具的价值在于将开发者从重复劳动中解放出来,让我们能更专注于架构设计和核心业务逻辑。Copilot 和通义灵码在生成样板代码、提供代码建议、解释复杂错误方面,确实是个得力的助手。隐私合规与行为分析:一个值得深思的问题是,如果未来想引入用户行为分析来优化推荐算法(比如分析常聊话题、活跃时段),如何在保证用户隐私和数据合规的前提下进行?技术上可以考虑前端 SDK 进行匿名化数据收集(脱敏、哈希处理),并确保获得用户明确授权,遵循最小必要原则。

2600_94959971的博客 206

C#解析基恩士(KEYENCE)PLC数据:KV协议通信与实时监控实现

KV协议是基恩士PLC使用的一种专用通信协议,通常用于与上位机进行数据交换。KV协议通过RS-232C、RS-485、Ethernet等接口与上位机通信,支持多种数据类型的读写,包括但不限于位、字、双字、浮点数等。简洁易用:KV协议的通信格式简单,易于实现。支持多种数据类型:支持位数据、字数据、定长字符串等。高效实时性:能够提供较高的实时数据交换性能,适合实时监控应用。本文介绍了如何通过C#与基恩士KV系列PLC进行通信,实现数据的解析和实时监控功能。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1807

附加功能--双击或者划选,获得翻译

//这个功能充分检验了英语六级是多么菜,如果你去听美国总统的演讲,基本是听不懂的,因为太多单词不懂。 这个模块的功能主要是,可以阅读美国历届总统的演讲,在遇到不懂的单词时,可以双加单词,或者划选单词,然后,,然后,对应的翻译就出来了,而且是秒速度。。。。 //这个英语6级的单词词库是网上找的,就是sql语句组成的,所以省了不少事,需要的可以留言 封装了一些对数据库的操作,虽然对于1万多

Free_Program_1314的专栏 1426

cesium实战目录必看

本文作者长期从事GIS相关工作,专注于三维和地图可视化领域,熟悉Cesium、Three.js、WebGL等开发框架。文章目录展示了作者在Cesium应用中的多项技术实践,涵盖水面反射、离屏渲染、后处理效果、地形裁剪、Shader着色器、动态单体化、气象图、缓冲区域、坡度和坡向分析、三维热力图、通视分析、态势标绘等多个方面。这些内容为开发者提供了丰富的技术参考,展示了Cesium在三维可视化中的强大功能和应用场景。

God's asylum的博客 8718

jsqlparser 版本不兼容:net.sf.jsqlparser.statement.select.SelectItem 以及 select.SelectBody 解决方法

看Bug直接定位到最后面的错误提示,一开始以为是UnabletostartembeddedTomcat的基本错误,后续发现排查方向错误!问题比较复杂,不过这类问题可看:出现WebServerException:UnabletostartembeddedTomcat解决方法(全)

码农研究僧的博客 2673

附加功能--保存用户查询历史,显示查询史,复习查询过的单词

这些都是学习过程中慢慢添加的,一次性发布在这篇文章把,一片一片的写太累了。。。。。。 1) 首先是设置用户COOKIE,并把COOKIE名存入到数据库,设置一个关联id,这个唯一的id对应的另外一个表,保存了对应的用户的查询单词 <?php require_once "sql.class.php"; function setOrGetUser() { $mysqli = new mysqli

Free_Program_1314的专栏 1033

【知识分享】单端到混合S参数转换指南

信号完整性(SI)工程师几乎总是必须使用S参数,因为许多的高速接口和行业标准都正在转向串行链路架构,并使用基于S参数测量的频域限制指标,了解其工作过程将会很有意义。

一只豌豆象的博客 1580

(6)单词和翻译入库

前面两个类 readDic.class.php将单个文件下的词库以【单词=>翻译】的格式,返回 readDir.class.php同样把每个路径下的文件以数组的格式返回 而groupDicName.class.php则解析分类名 这个类则负责一一对应的将每一个单词存储到对应的redis缓存的对应hash表里,这样讲生成26*NUM ,大约100个哈希表 <?php

Free_Program_1314的专栏 971

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

(3)读取词库

这个类的主要作用是解析出单词和对应的翻译,划分单词分类的不包含在这个类里 <?php class Oxford { private $OfileName=null; private $ODicString=''; private $ODicUnit=array(); private $ODicWord=array(); private $ODicTrans=array();

Free_Program_1314的专栏 953

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

附加功能--添加词条,并作为查询结果显示

用户可以自己你添加单词和翻译,前提是这些单词没有被添加过,而且在redis里面不存在,也就是不允许有重复的单词存在,添加完之后,可以再前段通过查询,得到添加的对应的翻译。。。。 有一个功能是: 用户提交的词条会生成对应的索引,索引的形式是:该单词的前缀,单词本身,单词在数据库中的唯一ID,这些单词在数据库中也是分类存储的。。 (单词前缀,单词本身,唯一数据库ID )这个hash项是添加

Free_Program_1314的专栏 922

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

(2)读取词库

这个类的主要作用,迭代的读取文件,因为路径存在中文,所以必须转码, 同时转码后,由于windows下的路径分隔符,会对编码后的路径进行转义,所以必须先对路径名进行转换 <?php class Dir { private $fileList=array(); public function __construct($path) { $this->readFileList($

Free_Program_1314的专栏 898

(4)存储单词和翻译

这个类的功能比较简单,就是把单词和翻译存入到redis,并且查询单词也是在这个类里完成的 <?php require_once "format.class.php"; class StoreWord { private $redis=null; private $trans; public function __construct() { $this->redis=new Redis

Free_Program_1314的专栏 898

附加功能---显示词库的分类信息

这个功能比较简单,显示A-Z的大分类下有多少划词分类,点击划词分类可以显示这个分类下有多少单词,点击单词可以获得翻译。。。。 这个词库就是前面10篇用到的词库,总共有2万多个单词 <?php require_once "../groupDicName.class.php"; require_once "../storeWord.class.php"; $groupN

Free_Program_1314的专栏 896

(8)查询和自动补全

这个类对前段提交的查询进行分类处理,如果是查询则返回翻译,如果是发送的补全提示,则返回最近接用户输入的前10个单词,供用户选择 <?php require_once "storeWord.class.php"; require_once "filterword.class.php"; require_once "format.class.php"; require_once "proce

Free_Program_1314的专栏 891

(9)前段代码

这个前段比较简单,主要用于捕获事件,并进行分类处理,可以发送查询和自动提示的补全功能 //清空补全表单 function clearFill() { var ul=$("showRes"); if(len=ul.childNodes.length) { //window.alert(len); for(var i=len-1; i>=0; i--) {

Free_Program_1314的专栏 885

(1)词库介绍

词库的txt文件地址:http://download.youkuaiyun.com/detail/free_program_1314/8146911 1)词库介绍:a) 词库都是txt文本格式的,保函A-Z分类的26个文件   b) a-z分类的文件夹下面分布着更为详细的分类文件,而且都是txt格式的  c) 分类文件遵循一定的规律,比如a-b,c,d表示单词开头的第一个字母是a,第二个字母可能是b,c

Free_Program_1314的专栏 847

(7)解析单词

这个类的功能比较重要,决定成功与否的功能,就是介绍里说的,要对用户提交的每一次查询进行正确的匹配和查询,比如: b) a-z分类的文件夹下面分布着更为详细的分类文件,而且都是txt格式的  c) 分类文件遵循一定的规律,比如a-b,c,d表示单词开头的第一个字母是a,第二个字母可能是b,c或者d d) 如果分类文件是这样的,比如a-b,c,m~z表示第一个字母开头是a

Free_Program_1314的专栏 843

(10)过滤输入

这个比较好玩,可以过滤用户输入的一些英语骂人的单词和脏话,可以自由添加,,,@_@ <?php class Filter { private $keyword=array('fuck', 'shit', 'slut', 'nut', 'idiot', 'pussy', 'cunt','whore', 'bitch', 'penis', 'mother fucker', '

Free_Program_1314的专栏 776
上一篇: 附加功能--双击或者划选,获得翻译
下一篇: 附加功能---显示词库的分类信息
错_对
博客等级 码龄16年 68粉丝 80原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值