欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

简陋商品管理系统

程序员文章站 2024-01-31 15:09:46
...

使用PHP语言开发一个商品管理系统,使用MySQL作为后台数据库,其中商品天添加、显示、删除和修改功能。
包含一个自己写的文件上传函数。

1. 数据库代码

CREATE DATABASE IF NOT EXISTS lamp39;

CREATE TABLE goods(
	id INT(4) NOT NULL AUTO_INCREMENT PRIMARY KEY,
	name VARCHAR(32) NOT NULL DEFAULT '',
	type VARCHAR(32) NOT NULL DEFAULT '',
	price DOUBLE(6,2) NOT NULL DEFAULT 0,  -- 两位小数。
	num INT,
	pic VARCHAR(32) NOT NULL DEFAULT '',
	addtime DATETIME NOT NULL
)ENGINE=MYISAM DEFAULT CHARSET=utf8 auto_increment=1;


2. hishop.rar

简陋商品管理系统hishop.rar


3. [PHP]代码

	/*	单文件上传函数
	*	$files为单文件
	*	$type要验证是否属于规定的类型
	*	默认$max_size大小为2M
	*/
	
	function upload($files,$path,$type=array(),$max_size=2097152){
		//判断路径是否存在,不存在就创建目录,创建失败,直接退出函数。
		if(!file_exists($path)||is_file($path)){
			if(!@mkdir($path)){
				$result['msg']='创建目录失败';
				return $result;
			}
		}
		$path=rtrim($path,'/');

		//判断文件的大小是否超过大小限制,超过大小返回错误信息。
		if($files['size']>$max_size){
			$result['msg']='上传文件大小超出了PHP配置文件中upload_max_filesize限制';
			return $result;
		}
		
		//判断文件的error是否为0,只操作元素为0的数组。error不为的0,返回错误信息
		switch($files['error']){
			case 0:
				break;
			case 1:
				$result['msg']='上传文件大小超出了PHP配置文件中upload_max_filesize限制';
				return $result;
			case 2:
				$result['msg']='上传文件大小超出了表单中,MAX_FILE_SIZE指定的值';
				return $result;
			case 3:
				$result['msg']='文件上传不完整';
				return $result;
			case 4:
				$result['msg']='没有上传任何文件';
				return $result;
			case 6:
				$result['msg']='没有上传任何文件';
				return $result;
			default:
				$result['msg']='未知错误';
				return $result;
		}
		
		//判断文件是否通过HTTP POST上传的
		if(!is_uploaded_file($files['tmp_name'])){
			$result['msg']='文件不合法';
			return $result;
		}
		
		/*
		$pathinfo=pathinfo($files['name']);
		$ext=$pathinfo['extension'];
		*/
		
		//判断文件是否属于允许的类型,不属于这个类型就返回错误信息。
		$ext=array_pop((explode('.',$files['name'])));
		if(is_array($type)&&count($type)>0){
			if(!in_array($ext,$type)){
				$result['msg']='不允许此类型文件上传';
				return $result;
			}
		}
		
		//先生成新文件名
		$filename=uniqid().'.'.$ext;
		
		//移动文件,如果文件移动未成功就返回错误信息
		if(!move_uploaded_file($files['tmp_name'],$path.'/'.$filename)){
			$result['msg']='移动文件出错';
			return $result;
		}
		
		//返回成功信息,返回文件大小和原名、新名字
		$result['msg']='上传成功';
		$result['name']=$files['name'];
		$result['size']=$files['size'];
		$result['filename']=$filename;
		return $result;
	}


4. [图片] shop.gif

简陋商品管理系统