php 建站 动态技术,PHP动态网页技术打造个人网站

PHP动态网页技术打造个人网站

PHP动态网页技术打造个人网站

这里和大家交流一下用动态网页技术PHP来架设个人网站的经验。不妥之处,敬请指正!

一 编辑调试环境

win98本地编辑调试,爽不爽?先下一个Omnihttpd Proffesinal V2.06 ,装上就有PHP4beta3可以用了。如果你较懂HTML,推荐用EditPlus,相当好哦!否则只好用DreamWeaver先了。还要连数据库? 幸好MySQL还有For WIN32的版本。

二 先来一个计数器

自己的计数器总比外来的好,敝帚自珍嘛!时下介绍的计数器源代码总是那种刷新一下就长,不免有些自欺欺人,呵呵。不过我们还是先分析一下它的工作原理吧,下面是一个简单计数器的示例: 以下为引用的内容:

if(file_exists($countfile))

{ $fp=fopen($countfile,"r+");

$count=fgets($fp,5); $count+=1; rewind($fp);

fputs($fp,$count,5);

fclose($fp);

}

else

{

$fp=fopen($countfile,"w");

$count="1";

fputs($fp,$count,5);

fclose($fp);

};

?> 这个计数器有个外号,叫一刷就长^_^。那么,怎么才能使计数器更真实一点呢?PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变 量。一进页面,先检验SESSION中COUNT是否存在并等于你想要的值,不等于则使等于先,然后调用计数过程,会话结束后,就可以对COUNT 说:ByeBye了您呐!

但是如果不是PHP4又该怎么办?不知道你还记得cookie否?我们可以假设某人在15分钟以内(或别的时间段内)对你的网页的请求都不属于 一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。比较一下,若差别大于十五分钟则计数,否则将时间刷新。(你不会连cookie怎么用都不知道吧?呵呵,推荐一本书《PHP 核心编程》,清华版的,查函数还够用,每个函数都有使用示例:-D)

不过,刚才的计数器毫无美观可言,估计你是肯定不满意了,换个图形的吧。做一套0.jpg,1.jpg……9.jpg。刚才不是读入一个字串吗?先 查查串长,输入你期望的长度(如5)减去串长(去掉空格后的)个零,然后从头一个一个截数字(其实还是字符),与“.jpg”组合后输出,图形计数器不就 出来了吗?

好了,一个个人用的计数器就已经比较完美了.

三 首页新闻发布,让你更新更轻松(上)

每次在首页中增加一条消息,加两句话,就得整个页面都上传一遍,真是不值!于是象蓝风这种懒汉就想了一个一劳永逸的办法,真正的动态实时,远程管理 编辑,自动维护功能。也可以用来做虚拟社区的公告板。(如果改吧改吧,就可以把你的新闻中心的新闻在首页自动生成提要了,呵呵。)这么多功能,大家多多原 谅,嘿嘿。

先插几句题外话,我们做网站时,是用html中间点缀PHP呢,还是用PHP来生成html?专业的站点可以把一个功能集中在一页,通过这一页调用 不同的模块来实现各个子功能(这样客户端是不是就只有一页了呢?我没有试过)。不管怎样,功能模块化的软件复用是高效率开发的一个重要方法(也能节省你的 主机空间哦^_^)。

好了,下面我们就一起来把功能模块化吧。初学者请仔细阅读代码,尤其要注意基本函数的用法。高手就可以略过这一段了,呵呵(这么认真干吗?都看得人家不好意思了9-()。

以下为引用的内容:

echo "

"

echo "网页教学网"//如果标题常变,可做一个函数。

echo ""

?>

这是一个写html头的一功能块。

function makestr($text)

{ $str=$text;

$a=strstr($s,'$}');//切除在$s中‘${'之前的子串

if($a){

$b=strstr($a,'}');

if($b){

$la=strlen($a);$ls=strlen($s);//取串长

$s=substr($a,0,$ls-$la);//取子串,第二个参数为起点,第三个参数为取字符的个数

$a=substr($a,2);//去掉'${'

$lb=strlen($b);$la=strlen($a);

$a=substr($a,0,$la-$lb);//取出超链接部分

$b=substr($b,1);//去掉'}'

$ta=strstr($a,"|");//寻找是否存在需要做链接的文字

if($ta){

$la=strlen($a);$lt=(strlen($ta);

$linktext=substr($a,$la-$lt+1);

$a=substr($a,0,$la-$lt);

}

else{

$linktext=$a;

}

$s=$s.".$linktext.".$b;//准备返回字串

}

}

return($s);

} 如果你是一个新手,那么应该找一本html入门的书来看看。否则是很难成为一个PHP高手的。这些你开始看起来 非常简单的处理字符串的函数,经过你的巧妙运用,是能做很多漂亮的事的。下一讲,我们就可以看到我们准备了大半天的成果了,呵呵。

三 首页新闻发布,让你更新更轻松(中)

上次我们做了一个文件头(至于文件尾,请大家自己做,假设为tail.php),一个函数的模块,现在,我们来一个基本功能的实现,也就是动态发布啦 以下为引用的内容:

include("makestr.php";

include("head.php");

$newspath="/announce/"; //以文本文件存放的新闻文件的目录

$newsfile=array();//准备新闻数组

$hd=dir($newspath); //目录句柄

while($filename=$hd->read()){ //获取全部文件

$s=strtolower($filename);

if(strstr($s,".txt")){

//检测最新的修改日期

$lastchanged=fileatime($newspath.$filename);

$newsfile[$filename]=$lastchanged;

}

}

arsort($newsfile); //文件按时间排序

//输出文件

for(reset($newsfile);$key=key($newsfile);next($new sfile))

{$fa=file($newspath.$key);

$n=count($fa);

echo "

".date("-H:i:s".$newsfile[$key])."
\n";

for($i=0;$i

$s=chop($fa[$i]);//去除空格

$s=htmlspecialchars($s);

print $s."

\n";

}

}

$hd->close(); //释放句柄

include("tail.php");

?> 这样,将你的新闻文本传上你根目录的annouce子目录下,就可以方便发布新闻了。但真正的方便还不在于这,比如说,当新闻过时的时候,程序能自动删除它,多好。不用ftp,直接在线写下要新发的公告,多方便。好了,且听下回分解。

三 首页新闻发布,让你更新更轻松(下)

上一讲里,我们已经实现了首页新闻发布的基本功能。在这一讲里,我们再给它添砖加瓦,使它的功能更为强大。(一个好用的软件,其实也就是基本功能加上一批附属功能,这些附属功能主要也是图个方便而已,呵呵)

首先,我们再明确一下我们想获得什么方便。我们不希望几十天以前的东西我们忘了删除,结果还作为新闻发布在首页(很丢脸的哦^&^)。如果 我们在基本实现中嵌入一段代码,比如说用filectime($filename),那么在UNIX下,我们就可以得到从1970年1月1日起以秒计到最 后一次文件被改动的时间(在WINDOWS下返回的是文件生成的日期时间),而从1970年1月1日起以秒计到现在的秒数可以用$mynow=mktime()来获得,减法,判断,IF >我们期望的时间,嘿嘿,Sorry,unlink($newspath.$filename)……什么?!您问这段代码应该放在哪儿?您说呢,呵 呵。

或许,你并不是常在一台机器上上网,当你获得了一条新的新闻后却不在你的爱机旁,怎么办?最理想的莫过于在主页上上传文件咯。你或许有一个页面 (Admin?)需要用密码才能进入(假如你还爱惜自己的网站的话,这是有必要的,最好连文件名都不要让别人知道,呵呵)。下面是一段到处可见的文件上载 的代码: 以下为引用的内容:

if(isset($upfile))

{

?>

已上载的文件信息如下:

文件存放路径 : <?echo $upfile;?>

原始文件名 : <?echo $upfile_name;?>

文件大小(字节): <?echo $upfile_size;?>

文件类型 : <?echo $upfile_type;?>

}

else

{

?>

新闻上传

请选择或输入上传文件名:

}

?> 这里我们又见到了PHP和HTML结合的一种形式,可以借鉴。文件上载虽然方便,但总给人一种不安全感。一旦泄密,你的服务器的系统安全就受到了威 胁,因为上载的文件可能是一些破坏性的执行文件(也就是病毒或***程序啦)稳妥的做法是写一个在线编辑的文件,下面是一个示例: 以下为引用的内容:

〈?php

function mywritefile($filename,$contents){

if($fp=fopen($filename,"w")){

fwrite($fp,strpslashes($contents));

fclose($fp);

return 1;

}

else {return 0;};

};

//判断表单返回的变量murano pendants

if($submitButton=="完成"){

$rs=mywritefile("$page","$test");

echo "$page
";

}

elseif($action=="page") //变量action值为"page"的情况

{$contents="$page";

$fp=@fopen($content,"w+")or die('Could not open file!');

$contents=htmlspecialchars($contents);

fclose($fp);

echo "

";

echo "$contents";

echo "";

echo "";

echo "

";

}

else

{echo "

";//注意引用程序内变量的方式。

echo "";

echo "";

echo "

";

}

?>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下载使用前声明: 本源码已完全免费 后台文件加密/前台文件完全开源 如果安装成功的话无法进入请进入数据库查看是否成功写入数据库 如果没有成功写入数据库请把数据库文件导入 要求php5以上版本 php5.3一下版本 使用说明: 自动发卡平台源码可以放入任何站点 安装自动发卡平台 http://您的域名/yc.php 后台地址 http://您的域名/admin 您可以将admin改成其他名称 数据库导入默认账号:yc88 数据库导入默认密码:yc88net 测试账号 易宝测试接口(密钥) PID:10012226645 KEY:w79txMr0ql14p709ADuQ7a9Hk3Dc6G2225021w79ws3G9oPSy20U92QimbLy 财付通测试接口(密钥) PID:1900000109 KEY:8934e7d15453e97507ef794cf7b0519d 如果无法安装怎么办,无法写入数据库,无法Everyone提权 使用的是虚拟空间 首先你把faka.sql导入您的数据库 您可以使用phpmyadmin进行导入 导入以后修改文件 conf/db.php if(!defined('WY_ROOT')) exit; //数据据服务器您服务器IP是多少就设置多少 define('DBSERVER','localhost'); //数据库端口一般默认不需要修改 define('DBPORT','3306'); //数据库访问用户 define('DBUSER','root'); //数据库访问用户密码 define('DBPASS','11111111'); // 数据库名称 define('DBNAME','faka'); //数据库表前缀 define('DB_PREFIX','faka_'); //是否开启SQL日志记录,WY_SQL_LOG=true开启,WY_SQL_LOG=false关闭,默认false define('WY_SQL_LOG',false); //cache token define('WY_CACHE_TOKEN','e83a75350834146eb822c9fb9fdab1f4'); ?> 接口修改 如果您将个人版自动发卡平台放到不是您网站的跟目录搭建而是放到您网站的二级目录里 那我们需要进行修改 修改pay/目录下所有目录的/send.php文件 找打关于 $notify_url = "[url=http://".$_SERVER[]http://".$_SERVER['HTTP_HOST']."/pay/yc/notify_url.php[/url]"; $callback_url = "[url=http://".$_SERVER[]http://".$_SERVER['HTTP_HOST']."/pay/yc/return_url.php[/url]"; 这两段代码 除yc目录里是两个以为其他都是一个 把/pay/前面加成您的二级目录名称 例如您的二级目录为faka $notify_url = "[url=http://".$_SERVER[]http://".$_SERVER['HTTP_HOST']."/faka/pay/yc/notify_url.php[/url]"; $callback_url = "[url=http://".$_SERVER[]http://".$_SERVER['HTTP_HOST']."/faka/pay/yc/return_url.php[/url]";

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值