av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

php語(yǔ)言

PHP初級(jí)開發(fā)者常見的5種疑問(wèn)

時(shí)間:2025-04-15 10:43:37 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

PHP初級(jí)開發(fā)者常見的5種疑問(wèn)

  在php學(xué)習(xí)的過(guò)程中是不是也會(huì)面臨這樣那樣的疑問(wèn),不知道該問(wèn)誰(shuí),自己又不能解決,本文為大家總結(jié)php學(xué)習(xí)的基礎(chǔ)知識(shí):PHP初級(jí)開發(fā)者常見的5種疑問(wèn),歡迎好學(xué)上進(jìn)的你來(lái)看喲!

  1、文件上傳需要注意哪些細(xì)節(jié)?

  1) 首現(xiàn)要在php.ini中開啟文件上傳;

  2) 在php.ini中有一個(gè)允許上傳的最大值,默認(rèn)是2MB。必要的時(shí)候可以更改;

  3) 上傳表單一定要記住在form標(biāo)簽中寫上enctype="multipart/form-data";

  4) 提交方式 method 必須是 post;

  5) 設(shè)定 type="file" 的表單控件,并且必須具有name屬性值;

  6) 為了上傳成功,必須保證上傳文件的大小是否超標(biāo)、文件類型是否符合要求,上傳后存放的'路徑是否存在;

  7) 表單提交到接收頁(yè)面,接收頁(yè)面使用$_FILES來(lái)接收上傳的文件。$_FILES是個(gè)多維數(shù)組。

  第一維下標(biāo)是上傳控件的name,二維下標(biāo)分別為name/type/tmp_name/size/error。

  分別代表文件名、文件類型、上傳到臨時(shí)目錄下的臨時(shí)文件名、文件大小、是否有錯(cuò)誤。

  如果是批量上傳,那么二維下標(biāo)就是數(shù)組,而并非是字符串。

  8) 文件上傳后是被放置在服務(wù)器端臨時(shí)路徑下,需要使用move_uploaded_file ()函數(shù),才可以將上傳后的文件保存到指定目錄。

  9) 為了避免上傳文件重名,可以通過(guò)上傳的文件名獲取到文件后綴,然后使用時(shí)間戳+文件后綴的方式為文件重新命名。

  2、$_REQUEST、$_GET、$_POST、$_COOKIE 的關(guān)系和區(qū)別:

  1.關(guān)系:$_REQUEST包含了$_GET、$_POST、$_COOKIE等的所有內(nèi)容,是它們的集合體。

  2.通過(guò)$_REQUEST獲取變量值,PHP頁(yè)面因?yàn)椴淮_定它是哪種傳值方式,

  因此會(huì)根據(jù)php.ini中的配置來(lái)接收值。

  php.ini里可以設(shè)置,variables_order = “GPC”。其含義是GET,POST,COOKIE.

  所以PHP頁(yè)面會(huì)先從$_GET中獲取,再?gòu)?_POST中獲取,然后從$_COOKIE中獲取。

  新獲得的值會(huì)覆蓋之前獲取到的值。

  因此從表現(xiàn)形式上看,$_REQUEST最后是獲取$_COOKIE中的'值,如果$_COOKIE中沒(méi)有值,

  會(huì)獲取$_POST中的值,如果$_POST沒(méi)有獲取到 ,就去$_GET中獲取。

  如果$_GET中也沒(méi)有該值,那么$_REQUEST就返回null。

  3、什么是SQL注入?如何防止SQL注入?

  SQL注入攻擊是黑客對(duì)數(shù)據(jù)庫(kù)進(jìn)行攻擊的常用手段之一。一部分程序員在編寫代碼的時(shí)候,沒(méi)有對(duì)用戶輸入數(shù)據(jù)的合法性進(jìn)行判斷,注入者可以在表單中輸入一段數(shù)據(jù)庫(kù)查詢代碼并提交,程序?qū)⑻峤坏男畔⑵礈惿梢粋(gè)完整sql語(yǔ)句,服務(wù)器被欺騙而執(zhí)行該條惡意的'SQL命令。注入者根據(jù)程序返回的結(jié)果,成功獲取一些敏感數(shù)據(jù),甚至控制整個(gè)服務(wù)器,這就是SQL注入。

  要對(duì)提交的信息進(jìn)行過(guò)濾,對(duì)單引號(hào)進(jìn)行轉(zhuǎn)義。首先可以在php.ini中設(shè)置,讓所有的單引號(hào)在提交后都進(jìn)行轉(zhuǎn)義。或者使用addslashes().

  4、MVC的概念是什么?

  MVC(即模型-視圖-控制器)是80年代發(fā)明的一種軟件設(shè)計(jì)模式或者說(shuō)編程思想。

  M指(Model)模型層,V是指(View)視圖層(顯示層或者用戶界面),C是指(Controller)控制層。

  使用mvc的目的是實(shí)現(xiàn)M和V分離,從而使得一個(gè)程序可以輕松使用不同的用戶界面。

  C存在的目的則是在M和V之間起到調(diào)節(jié)作用,確保M和V的同步,一旦M改變,V應(yīng)該能同步更新。

  將M和V分離,就可以做到同一個(gè)網(wǎng)頁(yè),在不同節(jié)日到來(lái)的`時(shí)候能顯示不同的頁(yè)面風(fēng)格,這只需要提前制作多個(gè)視圖層模板頁(yè)面,而無(wú)需更改M層程序。

  MVC做到了編程中的分工合作,代碼的可重用性得到最大化體現(xiàn),程序邏輯更加清晰而富有條理,便于后期維護(hù)管理。

  在網(wǎng)站開發(fā)中,模型層一般負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)表信息進(jìn)行增刪改查,視圖層負(fù)責(zé)顯示頁(yè)面內(nèi)容,控制器層在M和V之間起到調(diào)節(jié)作用,控制器層決定調(diào)用哪個(gè)model類的哪個(gè)方法,執(zhí)行完畢后由控制器層決定將結(jié)果assign到哪個(gè)view層。

  5、$this,self, parent分別代表什么?哪些場(chǎng)合下使用

  $this代表的是當(dāng)前對(duì)象 self代表的是當(dāng)前的類 parent代表的是當(dāng)前類的父類

  使用場(chǎng)合:

  $this只能使用在當(dāng)前類中,通過(guò)$this->可以調(diào)用當(dāng)前類中的屬性和方法;

  self只能在當(dāng)前類中使用,通過(guò)作用域操作符::訪問(wèn)當(dāng)前類中的'類常量、當(dāng)前類中的靜態(tài)屬性、當(dāng)前類中的方法;

  parent只能使用在有父類的當(dāng)前類中,通過(guò)作用域操作符::訪問(wèn)父類中的類常量、父類中的靜態(tài)屬性、父類中的方法。

  作用于操作符的使用場(chǎng)合

  a)本類中:

  i.self::類常量

  ii.self::靜態(tài)屬性

  iii.self::方法() parent::方法()

  b)子類中:

  i.parent::類常量

  ii.parent::靜態(tài)屬性(public或者protected)

  iii.parent::方法()(public或者protected)

  c)類外:

  i.類名::類常量

  ii.類名::靜態(tài)屬性(public)

  iii.類名::靜態(tài)方法(public)

【PHP初級(jí)開發(fā)者常見的5種疑問(wèn)】相關(guān)文章:

PHP開發(fā)者常犯的10個(gè)MySQL錯(cuò)誤08-29

PHP面試常見題型09-23

php常見的框架及優(yōu)缺點(diǎn)07-31

PHP面試常見題型問(wèn)答06-27

PHP常見漏洞的防范措施11-08

PHP網(wǎng)站常見的安全漏洞11-07

php常見的框架及優(yōu)缺點(diǎn)分析09-21

PHP常見面試題詳解08-09

PHP常見面試題及解析08-14