首頁 後端開發 php教程 PHP个人网站架设全攻略_PHP

PHP个人网站架设全攻略_PHP

Jun 01, 2016 pm 12:31 PM
echo 全攻略 我們 文件

个人网站

  这里和大家交流一下架设个人网站的经验。不妥之处,敬请指正!
  一 编辑调试环境
  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-()。
    /*head.php 为了避免被别人直接键入head.inc下载你的源代码,最好用php做后缀,这样,你的服务器才会先截获它进行处理,呵呵*/
  echo "

" <br>  echo "网管之路"//如果标题常变,可做一个函数。 <br>  echo ""
  ?>
  这是一个写html头的一功能块。
    /*makestr.php 定义一个公用处理文本中超链接的函数,假定文本中链接形式为${http://www.yoyonow.net|网管之路}*/
  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($newsfile))
  {$fa=file($newspath.$key);
  $n=count($fa);
  echo "

".date("d.m.Y-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))
  {
  ?>

  已上载的文件信息如下:
   文件存放路径 :
   原始文件名 :
   文件大小(字节):
   文件类型 :

  
  }
  else
  {
  ?>
  
  

新闻上传
  

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

  
  
  }
  ?>

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

  〈?php
  function mywritefile($filename,$contents){
  if($fp=fopen($filename,"w")){
  fwrite($fp,strpslashes($contents));
  fclose($fp);
  return 1;
  }
  else {return 0;};
  };
  //判断表单返回的变量
  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 "
";
  }
  ?>

  -----至此,首页新闻发布的实现已经可以告一段落了。 我们可以发现,任何一个功能(比较)强大的陈程式都是由一些简单的功能组合而成的。第三部分功能的整个完善过程使用叠加增强的方法,和软件工程的自顶向下,逐层分析的开发方法是不一样的。这是一个适用于学习的方法,自己写写习作还是挺管用的,呵呵。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

微信檔案過期怎麼恢復 微信的過期檔案能恢復嗎 微信檔案過期怎麼恢復 微信的過期檔案能恢復嗎 Feb 22, 2024 pm 02:46 PM

開啟微信,在我中選擇設置,選擇通用後選擇儲存空間,在儲存空間選擇管理,選擇要恢復檔案的對話選擇感嘆號圖示。教學適用型號:iPhone13系統:iOS15.3版本:微信8.0.24解析1先開啟微信,在我的頁面中點選設定選項。 2接著在設定頁面中找到並點選通用選項。 3然後在通用頁面中點選儲存空間。 4接下來在儲存空間頁面中點選管理。 5最後選擇要恢復檔案的對話,點選右側的感嘆號圖示。補充:微信文件一般幾天過期1要是微信接收的文件並沒有點開過的情況下,那在七十二鐘頭之後微信系統會清除掉,要是己經查看了微信

照片無法開啟此文件,因為格式不受支援或文件已損壞 照片無法開啟此文件,因為格式不受支援或文件已損壞 Feb 22, 2024 am 09:49 AM

在Windows系統中,照片應用程式是一個方便的方式來檢視和管理照片和影片。透過這個應用程序,用戶可以輕鬆存取他們的多媒體文件,而無需安裝額外的軟體。然而,有時用戶可能會碰到一些問題,例如在使用照片應用程式時遇到「無法開啟此文件,因為不支援該格式」的錯誤提示,或在嘗試開啟照片或影片時出現文件損壞的問題。這種情況可能會讓使用者感到困惑和不便,需要進行一些調查和修復來解決這些問題。當用戶嘗試在Photos應用程式上開啟照片或影片時,會看到以下錯誤。抱歉,照片無法開啟此文件,因為目前不支援該格式,或該文件

在Windows 11/10中,準備刪除要花費很長時間 在Windows 11/10中,準備刪除要花費很長時間 Feb 19, 2024 pm 07:42 PM

在本文中,我們將介紹如何解決在Windows系統中刪除檔案或資料夾時出現「準備刪除」提示的問題。這個提示意味著系統正在進行一些背景操作,例如檢查檔案權限、驗證檔案是否被其他程式佔用、計算要刪除項目的大小等。我們將為您提供一些解決方法,以確保您能夠順利刪除文件,而無需等待太長時間。為什麼Windows要花這麼長時間才能刪除檔案? Windows準備刪除檔案所需的時間受多種因素影響,包括檔案大小、儲存裝置速度和後台進程。長時間或被卡住的「正在準備刪除」提示可能暗示系統資源不足、磁碟錯誤或檔案系統問題。在

可以刪除Tmp格式檔案嗎? 可以刪除Tmp格式檔案嗎? Feb 24, 2024 pm 04:33 PM

Tmp格式檔案是一種暫存檔案格式,通常由電腦系統或程式在執行過程中產生。這些文件的目的是儲存臨時數據,以幫助程式正常運行或提高效能。一旦程式執行完成或電腦重啟,這些tmp檔案往往就沒有了存在的必要性。所以,對於Tmp格式檔案來說,它們本質上是可以刪除的。而且,刪除這些tmp檔案能夠釋放硬碟空間,確保電腦的正常運作。但是,在刪除Tmp格式檔案之前,我們需

出現0x80004005錯誤代碼怎麼辦 小編教你0x80004005錯誤代碼解決方法 出現0x80004005錯誤代碼怎麼辦 小編教你0x80004005錯誤代碼解決方法 Mar 21, 2024 pm 09:17 PM

在電腦中刪除或解壓縮資料夾,時有時會彈出提示對話框“錯誤0x80004005:未指定錯誤”,如果遇到這中情況應該怎麼解決呢?提示錯誤碼0x80004005的原因其實很多,但大部分因為病毒導致,我們可以重新註冊dll來解決問題,下面,小編給大夥講解0x80004005錯誤代碼處理經驗。有使用者在使用電腦時出現錯誤代碼0X80004005的提示,0x80004005錯誤主要是由於電腦沒有正確註冊某些動態連結庫文件,或電腦與Internet之間存在不允許的HTTPS連接防火牆所引起。那麼如何

夸克網盤的檔案怎麼轉移到百度網盤? 夸克網盤的檔案怎麼轉移到百度網盤? Mar 14, 2024 pm 02:07 PM

  夸克網盤和百度網盤都是現在最常用的儲存文件的網盤軟體,如果想要將夸克網盤內的文件保存到百度網盤,要怎麼操作呢?本期小編整理了夸克網盤電腦端的檔案轉移到百度網盤的教學步驟,一起來看看是怎麼操作吧。  夸克網盤的檔案怎麼存到百度網盤?要將夸克網盤的文件轉移到百度網盤,首先需在夸克網盤下載所需文件,然後在百度網盤用戶端中選擇目標資料夾並開啟。接著,將夸克網盤中下載的檔案拖放到百度網盤用戶端開啟的資料夾中,或使用上傳功能將檔案新增至百度網盤。確保上傳完成後在百度網盤中查看檔案是否已成功轉移。這樣就

如何安裝GHO文件 如何安裝GHO文件 Feb 19, 2024 pm 10:06 PM

gho檔案是一種GhostImage影像文件,它通常用於將整個硬碟或分割區的資料備份成一個檔案。在一些特定的情況下,我們需要將這種gho檔案重新安裝回硬碟上,以還原硬碟或分割區到先前的狀態。下面將介紹gho檔案的安裝方法。首先,在安裝之前,我們需要準備以下工具和材料:實體的gho文件:確保你擁有一份完整的gho文件,它通常以.gho為後綴名,並且包含有備份

hiberfil.sys是什麼檔案? hiberfil.sys可以刪除嗎? hiberfil.sys是什麼檔案? hiberfil.sys可以刪除嗎? Mar 15, 2024 am 09:49 AM

  最近有很多網友問小編,hiberfil.sys是什麼文件? hiberfil.sys佔用了大量的C碟空間可以刪除嗎?小編可以告訴大家hiberfil.sys檔是可以刪除的。下面就來看看詳細的內容。 hiberfil.sys是Windows系統中的隱藏文件,也是系統休眠文件。通常儲存在C盤根目錄下,其大小與系統安裝記憶體大小相當。這個檔案在電腦休眠時被使用,其中包含了當前系統的記憶體數據,以便在恢復時快速恢復到先前的狀態。由於其大小與記憶體容量相等,因此它可能會佔用較大的硬碟空間。  hiber

See all articles