文章詳情頁
PHP個人網站架設連環講(四)
瀏覽:4日期:2024-02-26 16:06:59
三 首頁新聞發布,讓你更新更輕松(下) -----上一講里,我們已經實現了首頁新聞發布的基本功能。在這一講里,我們再給它添磚加瓦,使它的功能更為強大。(一個好用的軟件,其實也就是基本功能加上一批附屬功能,這些附屬功能主要也是圖個方便而已,呵呵) -----首先,我們再明確一下我們想獲得什么方便。我們不希望幾十天以前的東西我們忘了刪除,結果還作為新聞發布在首頁(很丟臉的哦^&^)。如果我們在基本實現中嵌入一段代碼,比如說用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>"} ?> -----至此,首頁新聞發布的實現已經可以告一段落了。 我們可以發現,任何一個功能(比較)強大的陳程式都是由一些簡單的功能組合而成的。第三部分功能的整個完善過程使用疊加增強的方法,和軟件工程的自頂向下,逐層分析的開發方法是不一樣的。這是一個適用于學習的方法,自己寫寫習作還是挺管用的,呵呵。
標簽:
PHP
排行榜