明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

PHP個(gè)人網(wǎng)站架設(shè)連環(huán)講(4)

[摘要]三 首頁(yè)新聞發(fā)布,讓你更新更輕松(下) -----上一講里,我們已經(jīng)實(shí)現(xiàn)了首頁(yè)新聞發(fā)布的基本功能。在這一講里,我們?cè)俳o它添磚加瓦,使它的功能更為強(qiáng)大。(一個(gè)好用的軟件,其實(shí)也就是基本功能加上一批附屬功能,這些附屬功能主要也是圖個(gè)方便而已,呵呵) -----首先,我們?cè)倜鞔_一下我們想獲得什么方便。我...
三 首頁(yè)新聞發(fā)布,讓你更新更輕松(下)

-----上一講里,我們已經(jīng)實(shí)現(xiàn)了首頁(yè)新聞發(fā)布的基本功能。在這一講里,我們?cè)俳o它添磚加瓦,使它的功能更為強(qiáng)大。(一個(gè)好用的軟件,其實(shí)也就是基本功能加上一批附屬功能,這些附屬功能主要也是圖個(gè)方便而已,呵呵)
-----首先,我們?cè)倜鞔_一下我們想獲得什么方便。我們不希望幾十天以前的東西我們忘了刪除,結(jié)果還作為新聞發(fā)布在首頁(yè)(很丟臉的哦^&^)。如果我們?cè)诨緦?shí)現(xiàn)中嵌入一段代碼,比如說(shuō)用filectime($filename),那么在UNIX下,我們就可以得到從1970年1月1日起以秒計(jì)到最后一次文件被改動(dòng)的時(shí)間(在WINDOWS下返回的是文件生成的日期時(shí)間),而從 1970年1月1日起以秒計(jì)到現(xiàn)在的秒數(shù)可以用$mynow=mktime()來(lái)獲得,減法,判斷,IF >我們期望的時(shí)間,嘿嘿,Sorry,unlink($newspath.$filename)……什么?!您問(wèn)這段代碼應(yīng)該放在哪兒?您說(shuō)呢,呵呵。
或許,你并不是常在一臺(tái)機(jī)器上上網(wǎng),當(dāng)你獲得了一條新的新聞后卻不在你的愛(ài)機(jī)旁,怎么辦?最理想的莫過(guò)于在主頁(yè)上上傳文件咯。你或許有一個(gè)頁(yè)面(Admin?)需要用密碼才能進(jìn)入(假如你還愛(ài)惜自己的網(wǎng)站的話,這是有必要的,最好連文件名都不要讓別人知道,呵呵)。下面是一段到處可見(jiàn)的文件上載的代碼:
<?
if(isset($upfile))
{
?>  

已上載的文件信息如下:
    文件存放路徑  : <?echo $upfile;?>
    原始文件名    : <?echo $upfile_name;?>
    文件大小(字節(jié)): <?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">
請(qǐng)選擇或輸入上傳文件名: <input name="upfile" type="file">  
<input type="submit" value="上傳" name="submit">
</form>
</body></html>  
<?
}
?>  

-----這里我們又見(jiàn)到了PHP和HTML結(jié)合的一種形式,可以借鑒。文件上載雖然方便,但總給人一種不安全感。一旦泄密,你的服務(wù)器的系統(tǒng)安全就受到了威脅,因?yàn)樯陷d的文件可能是一些破壞性的執(zhí)行文件(也就是病毒或黑客程序啦)穩(wěn)妥的做法是寫一個(gè)在線編輯的文件,下面是一個(gè)示例:

〈?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">";//注意引用程序內(nèi)變量的方式。
echo "<input type=text size=20 name=page>";
echo "<input type="submit" name="send" value="選定">";
echo "</form>";
}
?>

-----至此,首頁(yè)新聞發(fā)布的實(shí)現(xiàn)已經(jīng)可以告一段落了。 我們可以發(fā)現(xiàn),任何一個(gè)功能(比較)強(qiáng)大的陳程式都是由一些簡(jiǎn)單的功能組合而成的。第三部分功能的整個(gè)完善過(guò)程使用疊加增強(qiáng)的方法,和軟件工程的自頂向下,逐層分析的開(kāi)發(fā)方法是不一樣的。這是一個(gè)適用于學(xué)習(xí)的方法,自己寫寫習(xí)作還是挺管用的,呵呵。