【asp源码栏目提醒】:以下是网学会员为您推荐的asp源码-PHP MYQL 打造另类的企业站管理程序 - 互联网,希望本篇文章对您学习有所帮助。
PHP MYQL 打造另类的企业站管理程序 在日常的工作中我们技术上建站通常会把网站做成动态的因为动态网站便于维护相对于纯静态的网站来说灵活性比较强但是从优化推广的角度来说静态的网站要比动态的网站占有更大的优势所以我们不断在寻找一种开源的cms建站程序其能够做到较好的动静结合。
当然我们在选择程序的语言时也会从成本方面进行选择比如说选择
asp的程序相对费用低选择php的费用高而jsp作为一种web端程序开发语言则更多的被用在政府机关以及比较大的网络应用中。
一句话
asp小巧但功能较少且在大量的数据处理面前稍显吃力php大气随着其自身功能的不断完善被越来越多的应用到电子商务建站当中其优秀的数据处理能力、相对于jsp、net较低的门槛被越来越多的人们青睐从而被大规模的应用。
一般情况下就我自身的工作经验而谈我们国内技术组在cms的选择方面来说比较偏向
asp但是也并非不用php为了减少企业成本对于一些小的网站来说
asp比php要占有很大的优势。
比较常见的
asp程序有5Ucms以及其旗下的TinyCms、Z-blog等这两种也是我们经常用在企业站中的建站程序其中5Ucms的产品是一种专业针对企业建站的产品Z-blog则是一种面向个人应用的博客程序不过其广受追捧后被广大
asp程序员补充之后其功能也越来越大经过改装的Z-blog在企业应用方面也有着不俗的表现。
比较常用的php程序则有dede、帝国、php168、Eshop等。
Php168是一款最早进军phpcms行业的平台其产品涵盖了门户、商城、论坛、行业站点等。
Dede从最初的门户发展到今天主要有门户、企业程序等其门户程序广受欢迎。
帝国也是一款不错的phpcms程序。
Eshop则是网上商城的程序。
随着开源思想在IT界的盛行以上cms企业也加入了开源组织免费向网民提供程序其部分业务仍为收费业务。
在程序的选择方面对于一般的企业站而言我不推荐选择PHP程序除非企业站内容十分丰富可以跟行业站相媲美。
当然这并不是PHP在企业站领域不受欢迎事实上一些潜心研究、精心制作出来的php程序在企业站应用方面不但有着
asp程序同样低的成本同时有着另
asp无法企及的访问速度。
这就是我今天跟大家分享的内容用PHPMYSQL在本机打造动态企业站程序。
声明 1、本文档有程序示例以PHP为基础没有php基础的人大可跳过 2、本文档所展示的程序均用来说明本程序的设计思路和实现方法仓促之际未经测试还请海涵。
3、本文档分享的是一种思路一种反其道而行之亦追求罗马大道的思路本文档分享的是一种态度一种举一反三、彰显个性、寻求独立、追求卓越的态度。
一、设计思路 避开程序设计中的棘手问题--安全打造小巧的企业级应用程序力求天衣无缝让爱捣乱的黑客们束手无策。
本思路的核心是后台与前台的剥离利用phpmysql站点html空间和数据库分离的特点分别将网站的后台和html文件分开存放。
具体的设计思路就是每次在数据库在一个地方、html页面和php程序分别在两个地方对于访客来说他们只能看到html文件也就是我们制作好供客户访问的页面对于我们的技术人员来说后台则可以随意存放。
优势 1、绝对静态。
不存在伪静态的概念全站实现html静态化。
2、安全。
服务器上不存在任何动态语言在服务器安全的前提下可谓是天衣无缝。
3、可扩展性强。
4、即使空间不支持任何动态语言亦可实现动态化。
二、思路详解 Mvc模式的流行彻底细化了动态网站开发的工作使美工、技术等各个岗位各司其职真正做到术业有专攻当然这些都是在大的项目面前的设计思路做为一个企业级的应用我们完全可以简化这个设计思路不过保留其精华还是能为以后的工作省掉不少麻烦的。
这里我们依然沿用这种设计思路让程序是程序html是html完全剥离这样以来我们的后台可以更广泛的在其他网站展开应用。
简单的来说本细想的核心就是 每天添加的信息都写入mysql数据库进行保存同时生成一个html文件上传至web空间并更新与之相关的页面链接。
所以这里用到的一个核心模块就是ftp上传功能。
对于模板和程序的功能我们沿用标签的形式利用php的缓存控制函数进行字符串替换。
三、系统详解 1、配置文件 对于程序经常用到的变量我们这里全部写入配置文件inc.php这里面我们要声明以下几个变量 1Ftp地址 2Ftp用户名 3Ftp密码 4Mysql服务器ip 5Mysql数据库名字 6Mysql用户名 7Mysql密码 以上三个是最基本的三个核心变量其他的变量可以根据需要自行声明。
2、数据库记录添加 这部分内容与常见的设计思路相同即链接数据库、添加数据。
php / 功能数据库链接类 作者高永峰 日期2009-10-13 / class DBSQL / 功能构造函数实现数据库连接 / public function __construct mysql_connectServerNameUserNamePassWordor die无法连接数据库服务器 mysql_select_dbDbNameor die无法连接数据库 mysql_queryset names gb2312 / 添加数据 / Public function add_newssql mysql_querysql 以上
源码仅为介绍本设计的思路。
5、生成静态内页并上传 php class html vardir//dir for the htmlswithout/ varrootdir//root of html fileswithout/html varname//html文件存放路径 vardirname//指定的文件夹名称 varurl//获取html文件信息的来源网页地址 vartime//html文件信息填加时的时间 vardirtype//目录存放方式yearmonth varnametype//html文件命名方式name function htmlnametypenamedirtypeyearrootdirhtml this-setvarnametypedirtyperootdir function setvarnametypenamedirtypeyearrootdirhtml this-rootdirrootdir this-dirtypedirtype this-nametypenametype function createdirdir this-dirdirdirthis-dir ifis_dirthis-dir tempexplode/this-dir cur_dir fori0i counttempi cur_dir.tempi./ ifis_dircur_dir mkdircur_dir0777 function getdirdirnametime0 this-timetimetimethis-time this-dirnamedirnamedirnamethis-dirname switchthis-dirtype casename ifemptythis-dirname this-dirthis-rootdir else this-dirthis-rootdir./.this-dirname break caseyear this-dirthis-rootdir./.dateYthis-time break casemonth this-dirthis-rootdir./.dateY-mthis-time break caseday this-dirthis-rootdir./.dateY-m-dthis-time break this-createdir returnthis-dir function geturlnameurl this-urlurlurlthis-url filenamebasenamethis-url filenameexplode.filename returnfilename0 function geturlqueryurl this-urlurlurlthis-url durlparse_urlthis-url durlexplodedurlquery foreachdurl assurl gurlexplodesurl eurlgurl1 return join_eurl function getnameurltime0dirname this-urlurlurlthis-url this-dirnamedirnamedirnamethis-dirname this-timetimetimethis-time this-getdir switchthis-nametype casename filenamethis-geturlname..htm this-namethis-dir./.filename break casetime this-namethis-dir./.this-time..htm break casequery this-namethis-dir./.this-geturlquery..htm break casenamequery this-namethis-dir./.this-geturlname.-.this-geturlquery..htm break casenametime this-namethis-dir./.this-geturlname.-.this-time..htm break returnthis-name function createhtmlurltime0dirnamehtmlname this-urlurlurlthis-url this-dirnamedirnamedirnamethis-dirname this-timetimetimethis-time ifemptyhtmlname this-getname else this-namedirname./.htmlname contentfilethis-urlor dieFailed to open the url.this-url. contentjoincontent fpfopenthis-namewor dieFailed to open the file.this-name. iffwritefpcontent return true else return false fclosefp linkftp_connectFtpIp iflink login_ftpftp_loginlinkFtpNameFtpPwd Else Echo无法连接ftp Ifftp_putlinkfilethis-nameFTP_BINARY Echo文件生成并已经成功上传 Else Echo上传文件失败 function deletehtmlurltime0dirname this-urlurlurlthis-url this-timetimetimethis-time this-getname ifunlinkthis-name return true else return false / functiondeletedir删除目录paramfile目录名不带/return / function deletedirfile iffile_existsfile ifis_dirfile handleopendirfile whilefalsefilenamereaddirhandle iffilename.filename. this-deletedirfile./.filename closedirhandle rmdirfile return true else unlinkfile 5、要点回顾 ftp连接 ftp上传 字符串替换 批量生成【缓存控制】 ftp目录管理 整个设计思路就是这样的当然这种想法在大家看来也许还并不成熟但是我想随着程序更加广发的应用在将来的某一天这种设计思路一定会有它大展拳脚的地方。
本次分享是以程序设计为基础的也许很多同事看了仍有诸多问题但是我想分享给大家的要旨就是在工作中和学习中不防放开自己的思路信马由缰让自己的思维在自己的工作领地尽情的驰骋你一定会发现一片新大陆。
当然对于有程序基础的同事来说我更希望这次分享能够拓宽大家在技术领域内的认识从而提高自己的技术水平。