程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP個人網站架設連環講(四)

PHP個人網站架設連環講(四)

編輯:關於PHP編程

三 首頁新聞發布,讓你更新更輕松(下)

-----上一講裡,我們已經實現了首頁新聞發布的基本功能。在這一講裡,我們再給它添磚加瓦,使它的功能更為強大。(一個好用的軟件,其實也就是基本功能加上一批附屬功能,這些附屬功能主要也是圖個方便而已,呵呵)
-----首先,我們再明確一下我們想獲得什麼方便。我們不希望幾十天以前的東西我們忘了刪除,結果還作為新聞發布在首頁(很丟臉的哦^&^)。如果我們在基本實現中嵌入一段代碼,比如說用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
{
?>
<html>
<head><title>新聞上傳</title></head><body>  
<form enctype="multipart/form-data" method="post" action="<?echo $PHP_SELF;?>">  
<input type="hidden" name="MAX_FILE_SIZE" value="50000">
請選擇或輸入上傳文件名: <input name="upfile" type="file">  
<input type="submit" value="上傳" name="submit">
</form>
</body></html>  
<?
}
?>  

-----這裡我們又見到了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 "<a href ="$page">$page</a><br>";
}
elseif($action=="page") //變量action值為"page"的情況
{$contents="$page";
$fp=@fopen($content,"w+")or die('Could not open file!');
$contents=htmlspecialchars($contents);
fclose($fp);
echo "<form action="admin.php?page=$page" method="POST" wrap=soft>";
echo "$contents";
echo "</textarea>";
echo "<input type="submit" name="submitButton" value="完成">";
echo "</form>";
}
else
{echo "<form action="basename($PHP_SELF).?action=page" method="POST">";//注意引用程序內變量的方式。
echo "<input type=text size=20 name=page>";
echo "<input type="submit" name="send" value="選定">";
echo "</form>";
}
?>

-----至此,首頁新聞發布的實現已經可以告一段落了。 我們可以發現,任何一個功能(比較)強大的陳程式都是由一些簡單的功能組合而成的。第三部分功能的整個完善過程使用疊加增強的方法,和軟件工程的自頂向下,逐層分析的開發方法是不一樣的。這是一個適用於學習的方法,自己寫寫習作還是挺管用的,呵呵。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved