當前位置:首頁 » 編程語言 » php編碼器

php編碼器

發布時間: 2023-02-13 07:23:16

1. 我下載了電影,可是暴風影音,快播等播放軟體播不了,說無法解碼,咋辦

你電影是什麼格式的阿。?
http://www.0744dvd.com
這站下個QVOD播放器試試看能看不。
或者直接下個QVOD播放器在線觀看。速度也很快不卡。

2. msfvenom怎麼生成php文件

metasploit-framework旗下的msfpayload(荷載生成器),msfencoder(編碼器),msfcli(監聽介面)已然成為歷史,取而代之的是msfvenom。
正所謂萬變不離其宗,了解原理是最重要的。
現在,metasploit-framework完美搭檔是msfvenom+msfcosole
下面,我們就來看一下msfvenom。
root@localhost:~# msfvenom -h
Error: MsfVenom - a Metasploit standalone payload generator.
Also a replacement for msfpayload and msfencode.
Usage: /usr/bin/msfvenom [options] <var=val>
Options:
-p, --payload <payload> Payload to use. Specify a '-' or stdin to use custom payloads
--payload-options List the payload's standard options
-l, --list [type] List a mole type. Options are: payloads, encoders, nops, all
-n, --nopsled <length> Prepend a nopsled of [length] size on to the payload
-f, --format <format> Output format (use --help-formats for a list)
--help-formats List available formats
-e, --encoder <encoder> The encoder to use
-a, --arch <arch> The architecture to use
--platform <platform> The platform of the payload
--help-platforms List available platforms
-s, --space <length> The maximum size of the resulting payload
--encoder-space <length> The maximum size of the encoded payload (defaults to the -s value)
-b, --bad-chars <list> The list of characters to avoid example: '\x00\xff'
-i, --iterations <count> The number of times to encode the payload
-c, --add-code <path> Specify an additional win32 shellcode file to include
-x, --template <path> Specify a custom executable file to use as a template
-k, --keep Preserve the template behavior and inject the payload as a new thread
-o, --out <path> Save the payload
-v, --var-name <name> Specify a custom variable name to use for certain output formats
--smallest Generate the smallest possible payload
-h, --help Show this message
root@localhost:~#
一,msfvenom生成payload的常見格式為:
最簡單型:
msfvenom -p <payload> <payload options> -f <format> -o <path>
1
1
編碼處理型:
msfvenom -p <payload> <payload options> -a <arch> --platform <platform> -e <encoder option> -i <encoder times> -b <bad-chars> -n <nopsled> -f <format> -o <path>
1
1
注入exe型+編碼:
msfvenom -p <payload> <payload options> -a <arch> --plateform <platform> -e <encoder option> -i <encoder times> -x <template> -k <keep> -f <format> -o <path>
1
1
拼接型:
msfvenom -c <shellcode> -p <payload> <payload options> -a <arch> --platform <platform> -e <encoder option> -i <encoder times> -f <format> -o <path>
1
1
-o輸出參數可以用「>」號代替
-f指定格式參數可以用單個大寫字母代替:
例如:X 代表 -f exe
[H]arp
[P]erl
Rub[Y]
[R]aw
[J]s
e[X]e
[D]ll
[V]BA
[W]ar
Pytho[N]

3. php 代碼如何將amr格式轉換成mp3格式,不用FFmpeg

安裝完成ffmpeg後,就可以使用ffmpeg進行音頻文件格式轉換。比如 ./ffmpeg -i /media/1.mp3 /media/1.wav, 通過該命令行可以將/media文件夾下1.mp3文件轉換成WAV格式的。

但是反過來 ./ffmpeg -i /media/1.WAV /media/1.MP3 卻不能轉換成Mp3格式,提示如下錯誤(找不到編碼器):
Stream mapping:
Stream #0:0 -> #0:0 (wav -> ?)
Encoder (codec none) not found for output stream #0:0
如果強行指定編碼器 ./ffmpeg -i /media/1.wav -acodec mp3 /media/1.mp3, 仍提示找不到編碼器錯誤:
Unknown encoder 'mp3'

這是因為,ffmpeg雖然是個開源軟體,但因為具體格式的版權原因,它並沒有包含所有的編解碼格式,或者有個格式只有對應的解碼器,但沒有編碼器,比如 Mp3就只有解碼器,能播放Mp3文件,但卻沒有Mp3的編碼器,無法將其它格式轉換成Mp3。可以通過命令行 ./ffmpeg -codecs 查詢編解碼配置,第一個D表示Decoder,該格式能夠解碼;E表示Encoder,該格式可以編碼。從中可以看出Mp3不能編碼,Mp2倒是即可解碼 也可編碼。如何解決這個問題呢?
D A D mp1 MP1 (MPEG audio layer 1)
D A D mp1float MP1 (MPEG audio layer 1)
DEA D mp2 MP2 (MPEG audio layer 2)
D A D mp2float MP2 (MPEG audio layer 2)
D A D mp3 MP3 (MPEG audio layer 3)
D A D mp3a ADU (Application Data Unit) MP3 (MPEG audio layer 3)
D A D mp3afloat ADU (Application Data Unit) MP3 (MPEG audio layer 3)

我的第一個方法是自己寫代碼來完成。源碼文件中,Allcodecs.c中對各個格式進行注冊,先修改Mp3的注冊行,改為同時注冊解碼器和編碼器:
REGISTER_ENCDEC (MP2, mp2);
REGISTER_DECODER (MP2FLOAT, mp2float);
REGISTER_DECODER (MP3, mp3) // 此行修改為 REGISTER_ENCDEC (MP3, mp3)
然後新增Mp3編碼器的實現Struct,裡面Init函數、encode函數、close函數使用Mp2的函數,因為我也不知道如何去實現Mp3的函數,或者說到代碼實現級我也不知道Mp3和Mp2的區別在哪。
AVCodec ff_mp3_encoder = {
.name = "mp3",
.type = AVMEDIA_TYPE_AUDIO,
.id = CODEC_ID_MP3,
.priv_data_size = sizeof(MpegAudioContext),
.init = MPA_encode_init,
.encode = MPA_encode_frame,
.close = MPA_encode_close,
.sample_fmts = (const enum AVSampleFormat[]){AV_SAMPLE_FMT_S16,AV_SAMPLE_FMT_NONE},
.supported_samplerates= (const int[]){44100, 48000, 32000, 22050, 24000, 16000, 0},
.long_name = NULL_IF_CONFIG_SMALL("MP3 (MPEG audio layer 3)"),
.defaults = mp3_defaults,
};
重新編譯上線。 用命令行./ffmpeg -i /media/1.WAV /media/1.MP3 試了一下,能成功生成1.mp3文件,文件也能播放。似乎沒有問題了,單用 file /media/1.mp3 查看了一下,發現文件不是Mp3格式的,而是Mp2格式的:
/media/1.mp3: MPEG ADTS, layer II, v1, 128 kbps, 44.1 kHz, Stereo
很遺憾,自行修改代碼的方式行不通,因為不是每個編解碼格式協議的專家,自行修改代碼失敗的風險很大,不僅是Mp3,還有一些其他格式比如AMR OGG H.263是沒有編碼器的。所以,第二個方案,使用成熟的第三方編碼器和ffmpeg結合。

Mp3比較好的開源第三方庫是libmp3lame(簡稱Lame)。我下了一個最新版本(3.99.4)的Lame源碼,編譯它:
首先配置: ./configure --prefix=/shared --enable-shared --enable-static
然後編譯: make
make install
生成文件: 動態鏈接庫 /shared/lib/libmp3lame.so 和 靜態鏈接庫 /shared/lib/libmp3lame.a。這里只需要使用動態鏈接庫,將.so文件拷貝到/lib中,這個文件夾是動態鏈接庫的默認搜索路徑, 讓ffmpeg運行時可以找到。
然後對ffmpeg配置libmp3lame: ./configure --enable-libmp3lame
重新編譯ffmpeg,運行轉化命令,看看效果如何。
首先執行 ./ffmpeg -codecs 查看可用編解碼的變化,可以看到多出了libmp3lame編碼器,帶E的:
D V D lagarith Lagarith lossless
EA libmp3lame libmp3lame MP3 (MPEG audio layer 3)
EV ljpeg Lossless JPEG
D V D loco LOCO
然後執行 ./ffmpeg -i /media/1.WAV /media/1.MP3, 生成1.mp3,用File命令查看,確實是Mp3文件。
/media/1.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 128 kbps, 44.1 kHz, Stereo
大功告成,問題解決。
也可在命令行中指定編解碼生成Mp3文件:./ffmpeg -i /media/1.WAV -acodec libmp3lame /media/1.MP3.

4. Windows Media 編碼器怎麼用

導入你想要編碼的文件,選擇編碼頻率,想請參考:
http://www.1717games.cn/read.php?tid=16

★眾志成城,抗震救災★

5. JavaScript和PHP有什麼區別呢後台交互用哪個處理好呢為什麼謝謝了

二級級聯菜單,不用AJAX和SQL無解,其實AJAX也不難,大概看看就懂了,可以再省級select里的option加上onclick事件,傳一個參數給他,然後非同步通信new一個XMLHTTPREQUEST對象給server讓server返回市級select就行了。看起來挺麻煩,其實你去學學很簡單的。SQL也很簡單,從資料庫直接select city from table_city(你的省和市的表,剛開始放一起就行,不用做外鍵表什麼的,沒必要) where province = 你非同步提交上來的省名字或是ID

當然,你要是寫死了只用PHP和JavaScript也能實現,不過那就失去級聯意義了。就是在初始化的時候要把所有的省、市信息都down下來,數據量太龐大了。具體實現是:可以把數據放到一個大的json中,然後onclick響應省事件,通過穿的值到json中找市的數據,然後返回一個select,中間帶著市的信息就行。十分不建議你這么做,屬於歪門邪道。。。

想在這方面發展就要一步一個腳印的走,別認為不會的就不去學,應該看到不會的立馬去學,這樣才能進步。

當你學會了AJAX和SQL以後再做一個二級級聯的東西就覺得很簡單了。

6. php是

PHP 是一種流行的開放源代碼的腳本語言。PHP早期的縮寫是「Personal HomePage」,現在官方正式名稱為「PHP: Hypertext Preprocessor」的遞歸縮寫。

PHP主要用於伺服器端應用程序及動態網頁上,但是也可以用在命令列上執行,或是開發獨立的窗口程序介面(GUI)

開發歷史
1994年,加拿大籍的程序設計師Rasmus Lerdorf開發了一組以c語言為基礎的CGI程序,目的是要取代一些用來維護他個人網站的Perl程序,不久之後,他把這些CGI程序公布並取名為"Personal Home Page Tools",這也是PHP名稱的由來。Rasmus Lerdorf一直維護PHP語言直到PHP第二版,使用的解析引擎為PHP/FI。

[編輯] PHP 3
1997年,Tel Aviv 公司的Zeev Suraski 和 Andi Gutmans 改寫了原本的解析引擎PHP/FI,並把PHP重新命名為"PHP: Hypertext Preprocessor"。在1998年公布了PHP 3提供大眾下載測試,1999年兩人在以色列成立了Zend Technologies公司來投入PHP的開發工作,並且開始製作下一代的解析引擎 - Zend引擎。

[編輯] PHP 4
2000年5月22日,以Zend引擎 1.0為解析引擎的PHP 4.0 發布。這也是PHP開始大受歡迎的版本,目前PHP 4還有在做安全性的更新,最新的版本是2006年九月發布的PHP 4.4.4版。

[編輯] PHP 5
2004年7月13日,以Zend引擎II為基礎的PHP 5.0 發布,同時也加入了許多新特性:

更完整的面向對象支持:基本上到PHP 5之後PHP才算是比較完整的面向對象語言。
透過新的Zend引擎,提升了PHP執行的速度。
對MySQL資料庫有更完整的支持。
更佳的XML支持。
內建SQLite資料庫(但在PHP 5.1取消了內建,改用擴展函數庫的方式)。
整合了SOAP的支持。
提供許多程序語言有的例外處理功能。
實驗性的介紹新的資料庫存取介面PDO(PHP Data Objects),在PHP5.1則開始預設安裝PDO。
最新的版本是2006年11月發布的5.2.0

[編輯] 應用
PHP主要應用在網頁伺服器,處理使用者的輸入來產生網頁。但是命令列腳本或是視窗程序介面(GUI)的開發也是PHP的主要應用范圍

[編輯] 伺服器端腳本語言
PHP最初就是設計成伺服器端腳本語言,因此這也是PHP應用最廣的部份。在此領域有許多其他的競爭者,例如ASP.NET、ColdFusion、JSP、Perl、Ruby on Rails等等。

在網路工業領域,PHP是LAMP架構的其中一部分,所謂的LAMP是指Linux、Apache、MySQL、以及PHP所組成的網路環境,提供了許多安全、可靠的網頁應用程序。PHP目前已經是全世界最受歡迎的伺服器端腳本語言,跨平台的特性更是讓PHP廣為流傳,目前共有1800萬台伺服器安裝有PHP。

[編輯] 命令列腳本
PHP也可以用命令列上執行來使用,例如分析紀錄檔、系統管理工作等。這些工作過去都是由一些其他的腳本語言例如Perl, Python, awk等來執行,PHP的在命令列上的使用則逐漸增加。

[編輯] 視窗程序介面(GUI)
透過和GUI函式庫GTK+的結合,PHP也可以應用在視窗程序介面(GUI)的開發上,目前的應用還不普遍。

[編輯] 語法
Hello World程序

下面是一個在標准輸出設備上輸出Hello World的簡單程序,這種程序通常作為開始學習編程語言時的第一個程序:

<?php
echo 'Hello World!';
?>


<?
print 'Hello World!';
?>
從中我們可以看出,PHP語言是嵌入在「<?php...?>」或「<?...?>」 之間的部分。而這個程序最終結果將是:

Hello World!
但建議您使用 <?php ... ?> 此種方式撰寫您的程序,因為在XML中使用<? ?>作為標簽,在php預設的設定檔php.ini中,通常此設定值為Off,若您有打開此設定的需要,您可以參見 php.ini 中關於 「short_open_tag = Off 」這部份的設定。

[編輯] PHP相關資源

[編輯] 函式庫
主條目:PHP函式庫列表

內建多樣化的函數是PHP主要的特點之一,這些開放程序碼的函數提供了各種不同的功能,例如檔案處理、FTP、字串處理、等等。這些函數的使用方法和C語言相近(例如printf),這也是PHP廣為流行的原因之一。

除了內建的函數之外,PHP也提供了很多延伸函式庫(extension),像是各種資料庫連接函數、資料壓縮函數、圖形處理等等。有些延伸函式庫需要從PECL(PHP Extension Community Library)取得。

[編輯] 原始碼編碼和加速
PHP原始碼是可以直接讀取的,即使放到伺服器上執行也是一樣。雖然讓PHP多了彈性,但相對的會造成安全危機和性能下降的問題。

因此透過PHP編碼器,可以保護PHP的原始碼不被讀取(對商業軟體來說特別有需求),也可以提升執行的效能。有許多公司或團體開發PHP的編碼器,將PHP程序編譯成位元組碼,再透過伺服器上安裝對應的程序來執行PHP腳本。

除了透過編碼器加速之外,PHP還可以透過動態的快取機制來提升速度,加速工具有商業版的(例如Zend Platform),也有開放原始碼的(例如eAccelerator, APC)。

[編輯] 樣板引擎
Smarty

Smarty是一個php模板引擎.
更准確的說,它分開了邏輯程序和外在的內容,提供了一種易於管理的方法,可以描述為應用程序員和美工扮演了不同的角色,因為在大多數情況下 ,他們不可能是同一個人.例如,你正在創建一個用於瀏覽新聞的網頁,新聞標題,標簽欄,作者和內容等都是內容要素,他們並不包含應該怎樣去呈現.在Smarty的程序里,這些被忽略了.模板設計者們編輯模板,組合使用html標簽和模板標簽去格式化這些要素的輸出(html表格,背景色,字體大小,樣式表,等等).有一天程序員想要改變文章檢索的方式(也就是程序邏輯的改變).這個改變不影響模板設計者,內容仍將准確的輸出到模板.同樣的,哪天美工吃多了想要完全重做界面,也不會影響到程序邏輯.
程序員可以改變邏輯而不需要重新構建模板,模板設計者可以改變模板而不影響到邏輯

[編輯] PEAR

[編輯] PECL

[編輯] 對PHP的批評
PHP沒有原生支援Unicode或是多位元字集(例如中文、日文、韓文等需要用兩個以上為原來表示的字集),導致用PHP寫的軟體在國際語言化上遇到相當多的困難。
PHP沒有名稱空間(Namespace)的設計,降低了PHP語言設計上的彈性。預計在PHP 6會加入名稱空間的特性。
PHP的函數命名規則非常的混亂,而且許多函數往往作用類似,只是傳遞的參數不同就要分成不同的函數,導致編寫PHP程序時需要做相當多的手冊查詢工作,降低開發的效率。
PHP的魔術引號(magic quotes)功能可以自動處理使用者輸入字串中的跳脫字元,有效避免SQL隱碼攻擊(SQL injection),但是因為不是每個使用者的輸入都會寫入到資料庫,處理這些沒有寫入資料庫的字串便浪費了效能。此外不是每個PHP環境都會開啟魔術引號,程序設計時需要便需要對不同的伺服器環境做因應,造成程序設計上的麻煩。魔術引號功能預計將會於PHP 6時取消。
有些PHP延伸函式庫不是執行緒安全(threadsafe),導致PHP安裝在多執行緒的伺服器例如Apache 2上會發生不穩定的狀況。

7. Dreamweaver中一般使用哪種編輯模式(設計器和編碼器)

Dreamweaver可以編輯多種Web頁面,使用的時候全憑自己的愛好。一般的設計器和代碼編輯配合使用。如果你是初學者,還是要多多練習,建議多敲敲代碼。(不是有代碼和視圖拆分的效果嗎?手動編輯代碼,保存一下就能在設計器里看到頁面效果),如果是HTML頁面,製作好頁面,也可以按下鍵盤F12在瀏覽器中快速預覽。如果是JSP、ASP、PHP等動態網頁,需要其他配置設置。

強烈建議你去這個網站學習:http://tech.163.com/special/w/000915SQ/webmediatech.html

另外用迅雷下載FIF小組的HTML視頻教程也很不錯

多參考一下資料,多動手,學習效率提高神速!Good Luck!

8. 2000線編碼器什麼意思

編碼器是通過轉子在編碼器內部掃過了多少個暗刻線來輸出多少個脈沖信號,精度選擇就是編碼器有多少解析度,越高的角度記錄越精確,2000線就是編碼器旋轉整一圈可輸出2000個脈沖信號,常用的還有100,200,300,500,1000,2000的,希望對你有所幫助

9. 怎麼用格式工廠將exe的視頻文件轉換成mp4文件

1、exe的是執行文件,mp4的是視頻文件,他們之間是不能轉換的。2、除非你確認,你的那個exe文件是視頻文件,如果是那樣的話,就是被人給更改了文件擴展名,那你就要找到這個文件真的擴展名,並進行修改才行,修改完了,再找相應的轉換工具,就成轉換了。

10. php是什麼

PHP(PHP:Hypertext Prerocessor)是一種在電腦上執行的腳本語言,主要是用途在於處理動態網頁,也包含了命令行執行介面(command line interface),或者產生圖形使用者介面(GUI)程序。[1]

PHP 最早由 Rasmus Lerdorf 在1995年發明,現在PHP實質上的標准由PHP Group和開放源代碼社群維護。PHP 以 PHP License 作為許可協議,不過因為這個協議限制了PHP名稱的使用,所以和開放源代碼許可協議GPL不相容。[2]

PHP 目前被廣泛的應用,特別是在伺服器端的網頁程序開發。一般來說 PHP 大多執行在網頁伺服器上,透過執行PHP程序碼來產生使用者瀏覽的網頁。PHP 幾乎可以在任何的操作系統上執行,而且使用 PHP 完全是免費的。根據2007年4月的統計資料,PHP 已經被安裝在超過2000萬個網站和100萬台伺服器上[3]。

目錄 [隱藏]
1 開發歷史
1.1 版本歷程
2 應用
3 語法
3.1 類型
3.2 變數
3.3 面向對象
4 PHP相關資源
4.1 函數庫
4.2 源代碼編碼和加速
4.3 樣板引擎
5 未來發展
5.1 PHP 5.3
6 參考資料
7 外部鏈接

[編輯] 開發歷史

PHP 的發明人 Rasmus Lerdorf
Zend Technologies的創辦人之一 - Andi GutmansFile:Zeev Suraski.jpg
Zend Technologies的創辦人之一 - Zeev SuraskiPHP 原本的簡稱為 Personal Home Page[4],是Rasmus Lerdorf 為了要維護個人網頁,而用c語言開發的一些CGI工具程序集,來取代原先使用的 Perl 程序。最初這些工具程序用來顯示 Rasmus Lerdorf 的個人履歷,以及統計網頁流量[5]。他將這些程序和一些表單直譯器整合起來,稱為 PHP/FI。PHP/FI 可以和資料庫連接,產生簡單的動態網頁程序。Rasmus Lerdorf 在1995年6月8日將 PHP/FI 公開釋出,希望可以透過社群來加速程序開發與尋找錯誤[6]。這個釋出的版本命名為 PHP 2,已經有今日 PHP 的一些雛型,像是類似 Perl 的變數命名方式、表單處理功能、以及嵌入到 HTML 中執行的能力。程序語法上也類似 Perl,有較多的限制,不過更簡單、更有彈性。[5]

在1997年,任職於 Technion IIT 公司的兩個以色列程序設計師:Zeev Suraski 和 Andi Gutmans,重寫了 PHP 的剖析器,成為 PHP 3 的基礎,而 PHP 也在這個時候改稱為PHP: Hypertext Preprocessor.[5]。經過幾個月測試,開發團隊在1997年11月釋出了 PHP/FI 2,隨後就開始 PHP 3 的開放測試,最後在1998年6月正式釋出 PHP 3。Zeev Suraski 和 Andi Gutmans 在 PHP 3 釋出後開始改寫 PHP 的核心,這個在1999年釋出的剖析器稱為 Zend Engine[7],他們也在以色列的 Ramat Gan 成立了 Zend Technologies 來管理 PHP 的開發。[5]

在2000年5月22日,以Zend Engine 1.0為基礎的PHP 4正式釋出,2004年7月13日則釋出了PHP 5,PHP 5則使用了第二代的Zend Engine[5]。PHP包含了許多新特色,像是強化的面向對象功能、引入PDO(PHP Data Objects,一個存取資料庫的延伸函數庫)、以及許多效能上的增強[8]。目前PHP 4已經不會繼續更新,以鼓勵用戶轉移到PHP 5。[9][10]

2008年PHP 5成為了PHP唯一的有在開發的PHP版本。將來的PHP 5.3將會加入Late static binding和一些其他的功能強化[11][12] 。PHP 6 的開發也正在進行中,主要的改進有移除register_globals[13]、magic quotes 和 Safe mode的功能。[9][14]

[編輯] 版本歷程
代表意義
紅色 舊版;官方停止支持
黃色 舊版;官方維護中
綠色 目前版本
藍色 未來版本
主要版本 次要版本 釋出日期 說明
1.0 1.0.0 1995年6月8日 正式名稱為"Personal Home Page Tools (PHP Tools)",第一次使用了"PHP"的名字。[5]
2.0 2.0.0 1994年4月16日 針對PHP 1.0的改進版,速度更快、體積更小,更容易產生動態網頁。[5]
3.0 3.0.0 1998年6月6日 開發方式改成多人共同參與。Zeev Suraski 和 Andi Gutmans 為了這個版本重寫了剖析引擎。[5]
4.0 4.0.0 2000年5月22日 改成以Zend引擎作為剖析器,具有兩階段剖析/標簽剖析系統等先進功能。[15]
4.1.0 2001年12月10日 加入"超全域變數"(superglobals)功能,包含了$_GET、$_POST、 $_SESSION等[15]
4.2.0 2002年4月22日 默認取消register_globals功能。從網路接收的資料將不會設定成全域變數,增加程序安全性[15]。
4.3.0 2002年12月27日 加入命令行執行檔,稱為CLI。[15]
4.4.0 2005年7月11日 Added man pages for phpize and php-config scripts.[15]
4.4.8 2008年1月3日 Several security enhancements and bug fixes. Was to be the end of life release for PHP 4. Security updates only until 2008-08-08, if necessary.[16]
4.4.9 2008年8月7日 More security enhancements and bug fixes. The last release of the PHP 4.4 series.[17][18]
5.0 5.0.0 2004年7月13日 Zend Engine II with a new object model.[19]
5.1.0 2005年11月24日 Performance improvements with introction of compiler variables in re-engineered PHP Engine.[19]
5.2.0 2006年11月2日 Enabled the filter extension by default.[19]
5.2.8 2008年12月8日[20] emergent bug fix[20]
5.2.9 2009年2月26日[21] 這個版本解決了5.2.*的超過了50多個錯誤和多個安全問題,增加了穩定性。[21]
5.2.9-2(Windows) 2009年3月10日[22] 這個版本解決了在Windows系統下OpenSSL的安全缺陷,與其綁定的OpenSSL版本升級到0.9.8k。[22]
5.3.0 預計2009年第二季[23] 支持命名空間; 使用XMLReader和XMLWriter增強XML支持; 支持SOAP ,[24] 延遲靜態綁定, 跳轉標簽(有限的 goto), 閉包,Native PHP archives
6.0 6.0.0 ??? 支持Unicode; 移除ereg擴展, 'register_globals', 'magic_quotes' 和 'safe_mode'; Alternative PHP Cache;Removal of mime_magic and rewrite of fileinfo() for better MIME support[25]

[編輯] 應用
PHP 是一個應用范圍很廣的語言,特別是在網路程序開發方面。一般來說 PHP 大多在伺服器端執行,透過執行 PHP 的程序碼來產生網頁提供瀏覽器讀取,此外也可以用來開發命令行腳本程序和使用者端的GUI應用程序。PHP可以在許多的不同種的伺服器、操作系統、平台上執行,也可以和許多資料庫系統結合。使用 PHP 不需要任何費用,官方組織 PHP Group 提供了完整的程序源代碼,允許使用者修改、編譯、擴充來使用。[26]

[編輯] 語法
PHP的語法參考了Perl、C語言,而且可以整合在HTML之中,以下是一個簡單的Hello World程序:

<?php
echo 'Hello World!';
?>
PHP剖析引擎只剖析<?php到?>之間的程序碼,而不包含在<?php到?>之間的內容則會直接送出,所以可以用以下的方式來將PHP程序碼嵌入在HTML之中:

<?php
//-PHP程式碼
?>
html內容
<?php
//-PHP程式碼
?>
但是在判斷語句中的HTML代碼並不會被直接送出:

<?php
if (false) {
?>
HTML Code
<?php
}
?>
PHP可以用三種註解的形式:C與C++所使用的「/*...*/」與「//」,和Perl的「#」。

[編輯] 類型
PHP主要有以下四種變數類型:

整數 (integer)
浮點數 (float)
布爾數 (boolean)
字串 (string)
兩種復合類型:

陣列 (array)
物件 (object)
兩種特殊類型

NULL
資源 (resource)[27]

[編輯] 變數
PHP中,變數以「$」後接變數名稱來表示。變數名稱區分大小寫。有效的變數名稱以字母或底線開頭,後接任意數目的字母、數字或底線。[28]

[編輯] 面向對象
PHP從PHP 3開始有了基本的面向對象的特性,但直到PHP 5將面向對象部份重新改寫之後,PHP的面向對象功能才比較完善。現在PHP可以說是一個有完整面向對象功能的語言。

[編輯] PHP相關資源

[編輯] 函數庫
主條目:PHP函數庫列表
內建多樣化的函數是PHP主要的特點之一,這些開放程序碼的函數提供了各種不同的功能,例如檔案處理、FTP、字串處理、等等。這些函數的使用方法和C語言相近(例如printf),這也是PHP廣為流行的原因之一。

除了內建的函數之外,PHP也提供了很多延伸函數庫(extension),像是各種資料庫連接函數、資料壓縮函數、圖形處理等等。有些延伸函數庫需要從PECL(PHP Extension Community Library)取得。

[編輯] 源代碼編碼和加速
PHP源代碼是可以直接讀取的,即使放到伺服器上執行也是一樣。雖然讓PHP多了彈性,但相對的會造成安全危機和性能下降的問題。

透過PHP編碼器,可以保護PHP的源代碼不被讀取(對商業軟體來說特別有需求),也可以提升執行的效能。有許多公司或團體開發PHP的編碼器,將PHP程序編譯成位元組碼(byte code),再透過伺服器上安裝對應的程序來執行PHP腳本。

除了透過編碼器加速之外,PHP還可以透過動態的快取機制來提升速度,加速工具有商業版的,例如Zend Platform,也有開放源代碼的加速軟體如eAccelerator、APC、XCache。

[編輯] 樣板引擎
樣板引擎讓PHP應用程序可以做邏輯和使用介面上的分離,讓程序開發更容易進行,目前比較受歡迎的樣板引擎是PHP官方開發的Smarty。不過樣板引擎有效能上的爭議,因為PHP本身就是一個樣板引擎,使用樣板引擎反而變成「重新發明了輪子」(reinventing the wheel)。樣板引擎最主要的好處就是讓不懂PHP程序碼的人也可以參與使用介面的開發,因為樣板引擎的語言遠比PHP簡單。

[編輯] 未來發展

[編輯] PHP 5.3
命名空間(namespaces)原本預計在PHP 6提供支持,現在可能改至PHP 5.3就支持[29

熱點內容
java刪除數組元素 發布:2024-11-08 20:39:48 瀏覽:947
網狐6603編譯 發布:2024-11-08 20:38:20 瀏覽:472
編程老頑童 發布:2024-11-08 20:37:43 瀏覽:58
手機上能搭建ftp伺服器嗎 發布:2024-11-08 20:33:30 瀏覽:205
linux抓包工具 發布:2024-11-08 20:25:07 瀏覽:459
我的世界神奇寶貝伺服器聯機生存 發布:2024-11-08 20:17:07 瀏覽:723
溫州少兒編程 發布:2024-11-08 20:16:28 瀏覽:550
伺服器硬體有什麼 發布:2024-11-08 20:13:52 瀏覽:320
windows存儲分層 發布:2024-11-08 20:04:34 瀏覽:754
淘寶客服電腦伺服器 發布:2024-11-08 19:39:26 瀏覽:911