日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

淺談P教程之十大經(jīng)驗技巧(5)_PHP教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:如何在PHP中實現(xiàn)文件的上傳功能
PHP同樣支持上傳文件的功能,但并不是所有支持PHP的網(wǎng)站都支持此功能,特別是免費的網(wǎng)站。 實現(xiàn)上傳,首先要在HTML上加入上傳文件的FORM>表格。 form method=post action=upload.php ENCTYPE=multipart/form-data> input type=file name=upload_file> inp

六、動態(tài)圖像的創(chuàng)建

只要安裝一些第三方的庫文件并具有一定的幾何知識,就可以利用PHP來創(chuàng)建和處理圖像了。事實上,這不需要太多的幾何知識,因為我大學(xué)沒有畢業(yè),仍然可以利用PHP創(chuàng)建圖像。

在使用基本的圖像創(chuàng)建函數(shù)之前,需要安裝GD庫文件。如果要使用與JPEG有關(guān)的圖像創(chuàng)建函數(shù),還需要安裝jpeg-6b,如果要在圖像中使用Type 1型字體,則必須安裝t1lib。

在建立圖像創(chuàng)建環(huán)境之前,還需要作一些準(zhǔn)備工作。首先,安裝t1lib;其次安裝jpeg-6b,然后再安裝GD庫文件。在安裝時一定要按這里給定的順序進行安裝,因為在編譯GD為庫時會用到j(luò)peg-6b,如果沒有安裝jpeg-6b,在編譯時就會出錯。

在安裝完這三個組件后,還需要重新配置PHP,這也是你對采用DSO方式安裝PHP感到慶幸的地方之一。運行make clean,然后在當(dāng)前的配置中添加下面的內(nèi)容:

--with-gd=[/path/to/gd]

--with-jpeg-dir=[/path/to/jpeg-6b]

--with-t1lib=[/path/to/t1lib]

完成添加后執(zhí)行make命令,然后再執(zhí)行make install命令。重新啟動Apache后運行phpinfo()來檢查一下新的設(shè)置是否生效了。現(xiàn)在就可以開始圖像創(chuàng)建工作了。

根據(jù)所安裝的GD庫文件的版本不同,你也許能或者不能創(chuàng)建GIF或PNG格式的圖形文件,如果安裝的是gd-1.6或以前的版本,可以使用GIF格式的文件但不能創(chuàng)建PNG格式,如果安裝的是gd-1.6以后的版本,可以創(chuàng)建PNG文件但不能創(chuàng)建GIF格式的文件。

創(chuàng)建一幅簡單的圖像也需要用到許多的函數(shù),我們將一步一步地進行說明。

在這個例子中,我們將創(chuàng)建一個PNG格式的圖像文件,下面的代碼是一個包含所創(chuàng)建的圖像的MIME類型的頭部:

<? header ("Content-type: image/png");

使用ImageCreate()創(chuàng)建一個代表空白圖像的變量,這個函數(shù)要求以像素為單位的圖像大小的參數(shù),其格式是ImageCreate(x_size, y_size)。如果要創(chuàng)建一個大小為250X250的圖像,就可以使用下面的語句:

$newImg = ImageCreate(250,250);

由于圖像還是空白的,因此你可能會希望用一些彩色來填充它。然而,你需要首先使用ImageColorAllocate()函數(shù)用其RGB值為這種顏色指定一個名字,這一函數(shù)的格式為ImageColorAllocate([image], [red], [green], [blue])。如果要定義天藍(lán)色,可以使用如下的語句:

$skyblue = ImageColorAllocate($newImg,136,193,255);

接下來,需要使用ImageFill()函數(shù)用這種顏色填充這個圖像,ImageFill()函數(shù)有幾個版本,例如ImageFillRectangle()、ImageFillPolygon()等。為簡單起見,我們通過如下的格式使用ImageFill()函數(shù):

ImageFill([image], [start x point], [start y point], [color])

ImageFill($newImg,0,0,$skyblue);

最后,建立圖像后釋放圖像句柄和所占用的內(nèi)存:

ImagePNG($newImg);

ImageDestroy($newImg); ?>

這樣,創(chuàng)建圖像的全部代碼如下所示:

<? header ("Content-type: image/png");

$newImg = ImageCreate(250,250);

$skyblue = ImageColorAllocate($newImg,136,193,255);

ImageFill($newImg,0,0,$skyblue);

ImagePNG($newImg);

ImageDestroy($newImg);

?>

如果把這個腳本文件保存為skyblue.php,并用瀏覽器訪問它,就會看到一個天藍(lán)色的250X250的PNG格式的圖像。

我們還可以使用圖像創(chuàng)建函數(shù)對圖像進行處理,例如把一個較大圖像作成一個小圖像:

假設(shè)你有一幅圖像,想從中裁剪出一個35X35大小的圖像。你所需要作的是創(chuàng)建一個35X35大小的空白圖像,創(chuàng)建一個包含原來圖像的圖像流,然后把一個經(jīng)過調(diào)整大小的原來的圖像放到新的空白圖像中。

要完成這一任務(wù)的關(guān)健函數(shù)是ImageCopyResized(),它要求的格式如下所示:ImageCopyResized([new image handle],[original image handle],[new image X], [new Image Y], [original image X], [original image Y], [new image X], [new image Y], [original image X], [original image Y])。

<? /* 發(fā)送一個頭部,以便讓瀏覽器知道該文件所包含的內(nèi)容類型*/

header("Content-type: image/png");

/* 建立保存新圖像高度和寬度的變量*/

$newWidth = 35;

$newHeight = 35;

/* 建立給定高度和寬度的新的空白圖像*/

$newImg = ImageCreate($newWidth,$newHeight);

/* 從原來較大的圖像中得到數(shù)據(jù)*/

$origImg = ImageCreateFromPNG("test.png");

/*拷貝調(diào)整大小后的圖像,使用ImageSX()、ImageSY()得到原來的圖像在X、Y方面上的大小 */

ImageCopyResized($newImg,$origImg,0,0,0,0,$newWidth,$newHeight,ImageSX($origImg),ImageSY($origImg));

/*創(chuàng)建希望得到的圖像,釋放內(nèi)存 */

ImagePNG($newImg);

ImageDestroy($newImg); ?>

如果把這一小段腳本保存為resized.php,然后用瀏覽器對它進行訪問,就會看到一個35X35大小的PNG格式的圖形。

七、基于PHP的用戶認(rèn)證

如果希望在每一段腳本上都進行口令保護,可以結(jié)合使用header()語句、$PHP_AUTH_USER和$PHP_AUTH_PW來建立基本的認(rèn)證方案,通常的基于服務(wù)器的提問/響應(yīng)順序都如下所示:

1、用戶從服務(wù)器上請求一個文件。如果這個文件在服務(wù)器上是被保護的,則在響應(yīng)的頭部向用戶返回一個401(示經(jīng)授權(quán)的用戶)字符串。

2、瀏覽器收到這個響應(yīng)后,彈出要求用戶輸入用戶名/口令的對話框。

3、用戶在對話框中輸入一個用戶名和口令,點擊OK按鈕將信息返回服務(wù)器供認(rèn)證使用。

4、如果用戶名和口令有效,被保護的文件將向用戶開放,只要用戶還在使用文件,認(rèn)證會一直有效。

一段簡單的PHP腳本文件通過向用戶發(fā)送一個適當(dāng)?shù)哪軌蛞鹱詣语@示用戶名/口令對話框的HTTP頭部就可以模仿HTTP的提問/響應(yīng)系統(tǒng),PHP把用戶在用戶名/口令對話框中輸入的信息存儲在$PHP_AUTH_USER和$PHP_AUTH_PW中,使用這二個變量,就可以與存儲在文本文件、數(shù)據(jù)庫等文件中的用戶名/口令進行比較。

這個例子采用了二個硬編碼的值進行認(rèn)證,但無論用戶名和口令放在什么地方,其原理都是相同的。

分享:談PHP本地調(diào)試環(huán)境簡易安裝配置
對于PHP的應(yīng)用,我個人比較傾向于使用Linux的操作系統(tǒng)下的Apache PHP Mysql(或者Oracle)配置,而不建議使用Windows系統(tǒng)構(gòu)建PHP作業(yè)服務(wù)器。理由很簡單,PHP的原型就是基于Linux系統(tǒng)開發(fā)的一個Web服務(wù)工具,雖然也為了方便移植到window系統(tǒng),但是卻有相當(dāng)部分

來源:模板無憂//所屬分類:PHP教程/更新時間:2009-06-28
相關(guān)PHP教程