PHP動(dòng)態(tài)網(wǎng)頁編程常用技巧四則_PHP教程
推薦:用Suhosin加強(qiáng)PHP腳本語言安全性PHP是一種非常流行的網(wǎng)站腳本語言,但是它本身所固有的安全性是非常薄弱。本文講述了PHP增強(qiáng)計(jì)劃(Hardened-PHP project)和新的Suhosi計(jì)劃,Suhosin提供了增強(qiáng)的PHP的安全配置。 PHP是帶有爭
1.配置PHP文件目錄
作為服務(wù)器端解釋執(zhí)行的腳本語言,PHP程序放置在某個(gè)服務(wù)器可以訪問的目錄下,一般可以通過修改Apache的httpd.conj進(jìn)行配置,例如我們?cè)谠撐募械囊痪洌?
Alias /test/ "d:/phpwebsite/php/" 那么在瀏覽器端輸入:“http://localhost/test/ PHP文件名”就可以訪問d:/phpwebsite/php/下的PHP文件了;可見該行不過是為存放PHP文件的目錄起一個(gè)別名。
其次,還可以通過指定DocumentRoot路徑得到存放服務(wù)器文件的目錄,在httpd.conj找到以下兩行,其中的路徑可以隨意指定,你的PHP文件也可以放在該目錄下,服務(wù)器同樣可以運(yùn)行它們,如“http://localhost/ PHP文件名”。
一般的,將PHP文件放在同一個(gè)地方比較好,可以方便管理,而其他文件放在另外一個(gè)地方。
DocumentRoot "C:/usr/bin/html/"
2.服務(wù)器端目錄的索引文件
在httpd.conj中,有一行:
DirectoryIndex index.html
該行指定目錄默認(rèn)打開文件為index.html,當(dāng)訪問某個(gè)目錄時(shí),服務(wù)器就會(huì)自動(dòng)查找index.html, 若果不存在,則顯示目錄中的所有文件列表,默認(rèn)打開文件可以改為別的,如index.php3等等,但是也許我們有很多目錄,無論是存放圖片,文本等資料的,還是存放PHP文件或別的文件的目錄,我們并不希望用戶能看到目錄中的文件列表,在httpd.conj 中指定了一個(gè).htacess文件,該文件產(chǎn)生一個(gè)目錄索引文件,例如我們用寫字板建立一個(gè).htacess文件:
# .htacess #
DirectoryIndex error_open.php
再建立一個(gè)錯(cuò)誤警告文件:
# error_open.php #
其中的error_open.php為權(quán)限錯(cuò)誤警告文件,將此2文件放在所有保護(hù)目錄下,當(dāng)用戶企圖打開目錄時(shí),自動(dòng)轉(zhuǎn)向執(zhí)行error_open.php,顯示錯(cuò)誤警告。
3.目錄刪除巧實(shí)現(xiàn)
我們知道,PHP4 for/win32中有個(gè)rename()函數(shù)可以支持對(duì)目錄/文件進(jìn)行重命名,如:
rename( oldpath, newpath) // oldpath為文件或目錄原來路徑;
// newpath為新定義路徑;
實(shí)現(xiàn)將 oldpath改名為 newpath。
PHP4中沒有刪除目錄/文件的函數(shù),怎么作到刪除呢?我們知道,php.ini中有一行用來完成HTTP上傳操作的臨時(shí)文件目錄配置行:
upload_tmp_dir= ;
PHP4支持該臨時(shí)目錄的配置(PHP3不支持),當(dāng)上載操作完成則自動(dòng)清空臨時(shí)目錄,好了,用它我們可以巧妙的實(shí)現(xiàn)文件/目錄的刪除,比如設(shè)置: upload_tmp_dir="d:/phpwebsite/php/tmp/" ;
要?jiǎng)h除某個(gè)目錄 path,執(zhí)行:
tmp="d:/phpwebsite/php/tmp/;"
rename( path, tmp)
?>
那么文件或目錄 path改名為 tmp后, tmp目錄下的所有文件/目錄自動(dòng)清除,就完成了刪除操作。
4.快速建立MySql數(shù)據(jù)庫表
PHP和MySql數(shù)據(jù)庫達(dá)到了完美結(jié)合,在網(wǎng)頁上,比如在論壇或書屋發(fā)表作品的新用戶,我們要把他的言論信息在線寫入數(shù)據(jù)庫中,往往要在相應(yīng)的數(shù)據(jù)庫中為該用戶新建一個(gè)數(shù)據(jù)表。win32下建立新的MySQL空數(shù)據(jù)庫很簡單,只要在“/mysql/data/”目錄下建立一個(gè)文件夾,如:"/usrinfo/",就可以了。而向庫中增添新表可通過以下程序?qū)崿F(xiàn):
# connect.mysql--連接數(shù)據(jù)庫 #
connection = mysql_connect();
mysql_select_db("usrinfo", connection);
?>
# make.php-- 建立如下結(jié)構(gòu)的,以用戶名為表名的數(shù)據(jù)表 #
//調(diào)用connect.mysql
require("connect.mysql");
//檢查以用戶名為表名的數(shù)據(jù)表存在否?
query="select count(*) from usrname";
result=mysql_db_query( query);
//不存在則創(chuàng)建,如存在就是老用戶;
if(! result){
mysql_query("
create table usrname(
id tinyint(6),
title text,
body longtext,
dateof date;
timeof time;
)") or die(mysql_error());
}
//此處為向數(shù)據(jù)表插入新的數(shù)據(jù)部分
?>
分享:配置Apache 1.3或者Apache 2.0服務(wù)器的5個(gè)技巧本文提出了配置Apache 1.3或者Apache 2.0服務(wù)器的5個(gè)技巧。我們將闡述以下的配置方案:調(diào)整Apache的accept()串行化、Apache 2.0線程、采用mod_ssl的SSL會(huì)話緩存、優(yōu)化keep-alive超時(shí)值以及檢查
- PHPNOW安裝Memcached擴(kuò)展方法詳解
- php記錄頁面代碼執(zhí)行時(shí)間
- PHP中獎(jiǎng)概率的抽獎(jiǎng)算法程序代碼
- apache設(shè)置靜態(tài)文件緩存方法介紹
- php對(duì)圖像的各種處理函數(shù)代碼小結(jié)
- PHP 關(guān)于訪問控制的和運(yùn)算符優(yōu)先級(jí)介紹
- 關(guān)于PHP語言構(gòu)造器介紹
- php/js獲取客戶端mac地址的實(shí)現(xiàn)代碼
- php5.5新數(shù)組函數(shù)array_column使用
- PHP preg_match的匹配多國語言的技巧
- php 中序列化和json使用介紹
- php采集文章中的圖片獲取替換到本地
PHP教程Rss訂閱編程教程搜索
PHP教程推薦
- PHP實(shí)例:用PHP實(shí)現(xiàn)表單驗(yàn)證碼登陸校驗(yàn)
- 基于php實(shí)現(xiàn)長連接的方法與注意事項(xiàng)的問題
- 給wordpress 增加干擾碼防采集
- php 目錄遍歷、刪除 函數(shù)的使用介紹
- PHP時(shí)間戳與日期之間轉(zhuǎn)換的實(shí)例介紹
- 談PDO的推廣與PHP發(fā)展的關(guān)聯(lián)
- 學(xué)習(xí)PHP必備的知識(shí)及工具
- 學(xué)習(xí)動(dòng)態(tài)網(wǎng)頁制作PHP技術(shù)的正則表達(dá)式
- 創(chuàng)建XML Http Request對(duì)象兩個(gè)的方法
- 在PHP中全面阻止SQL注入式攻擊
- 相關(guān)鏈接:
- 教程說明:
PHP教程-PHP動(dòng)態(tài)網(wǎng)頁編程常用技巧四則
。