<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • PHP的一些常用問題解答

    時間:2024-08-23 06:12:48 PHP 我要投稿
    • 相關推薦

    有關PHP的一些常用問題解答

      今天,小編把一些PHP中一些常用的知識點整理出來,讓新手們更容易掌握PHP,以便能快速看懂那些較難的程序,希望讀者們補充一下或者修正其中錯誤理解。

      Q:PHP中的類可以有構造函數么?

      A:可以,只要函數名和類名相同,這個函數將成為構造函數。在使用 new 操作符來創建一個類的實例時,該構造函數將會自動調用,因此,可以把一些初始化工作放在構造函數里完成。

      Q:PHP中的類有析構函數么?

      A:沒有。當對象被銷毀,使用 unset() 或者簡單的脫離范圍,析構函數都會自動調用。但 PHP 中沒有析構函數。 如:

      unset($foo);

      就銷毀一個類對象$foo了。

      Q:要如何繼承一個類?

      A:使用關鍵字 extends 來繼承一個類,如:

      class B extents A {

      }

      Q:在類的定義中如何引用自身?

      A:使用 $this 來引用當前類自身,如:

      $this->name = "Tom";

      Q:在子類中如何使用父類?

      A:使用 :: 操作符,且有兩種方式,一種是直接用父類名,如:

      A::example();

      一種是用 parent 關鍵字,如:

      parent::example();

      建議采用 parent:: 來引用父類。

      Q:我不想創建類的實例,能直接使用類中的函數或變量嗎?

      A:可以,采用 :: 操作符,如:

      B::example();

      就可以執行B類中的函數example(),而并沒有創建任何B類的對象,僅僅是作為一個類函數來調用,這對于功能模塊歸納組織很有好處。

      Q:PHP有多重繼承么?//added by erquan

      A:沒有。子類不能同時從兩個父類繼承,即一個孩子不能同時有兩個爸爸:)。子類必須依賴于一個且必須已存在的基類。

      Q:如何使用PHP往windows中添加用戶?

      A:

      方法有一:

      因為添加用戶,所以你運行PHP程序的用戶必須是管理員權限(Administrator),并且同時需要你的php.ini中的安全模式沒有打開,并且關閉函數中沒有關閉system()、exec()、passthru()等函數。

      ( 以下說明針對Windows2000/Windows XP/Windows 2003 )

      一、使用IIS做Web服務器

      如果是使用IIS做服務器的話,那么運行PHP的帳戶就是:IUSR_XXXXXXXX,IWAM_XXXXXXX,(XXXX代表服務器的計算機名),那么你必須把這兩個用戶加到管理員組:Administrators 。當然,你這樣做的話,會給服務器安全帶來威脅。

      二、使用Apache作為Web服務器

      據了解,Apache安裝成服務以后,那么就是以system權限運行的,那么就是說PHP運行的話,直接就是系統權限,已經超過了管理員權限,那么執行命令更不再話下。如果你修改了Apache的運行用戶,那么你必須指定Apache服務運行用戶是管理員以上權限,比如Administor或者system權限。

      然后你就可以在你的PHP代碼中執行添加用戶操作了:

      描述如下代碼:

      

      define("USER_GROUP", "users"); //用戶組,默認為users,為了安全,定義還是的用戶組

      define("ACTIVE", "YES"); //是否創建后直接激活用戶,YES為激活,NO為不激活

      //從數據庫提取用戶名和密碼

      //假設表為user_info,并且只有字段id, user, passwod

      $sql = "SELECT user,password FROM user_info";

      $result = mysql_query($sql) or die("Query database failed");

      //循環插入用戶

      while ($array = mysql_fetch_array($result)) {

      if (!function_exists("system"))

      die('Function system() not exists, add user failed.');

      //添加用戶

      @system("net user $array[user] $array[passwd] /active:ACTIVE /add");

      //添加到指定組

      @system("net localgroup users $array[user] /del");

      @system("net localgroup USER_GROUP $array[user] /add");

      }

      ?>

      以上代碼實現了把你所有數據庫的用戶添加到本地系統,如果你想單個的添加,可以考慮更改成用戶注冊成功后就添加用戶,這個可以自己擴展。

      不過,此方法不能實現同步

      方法二:

      可以在服務器端利用php.exe來執行,并且不會有安全問題。

      假設你的php安裝在c:\php\中,那么我們就使用命令提示符的來執行php腳本來添加用戶。

      PHP代碼:

      //c:\test.php

      

      @system("net user test test /add");

      ?>

      保存在c:\test.php文件中

      在cmd下執行:

      c:\php\php.exe c:\test.php

      提示:

      C:\>c:\php\php.exe c:\test.php

      命令成功完成。

      再將方法一中的那段代碼拿到這里來執行,然后php.exe充當shell腳本引擎。然后寫成批處理,通過定時任務來執行。當然,也可以考慮使用其他語言來實現,比如vb/vc之類的,定期去數據庫中檢索是否有新添加的用戶,然后再把用戶添加到系統中。


    【PHP的一些常用問題解答】相關文章:

    一些PHP中類的常識07-17

    最近總結的一些php信息函數10-11

    常用的PHP技術技巧08-25

    PHP常用的關鍵字08-18

    PHP常用的文件操作函數06-26

    關于php常用的系統函數09-13

    PHP常用MySql操作介紹05-11

    PHP中閉包的一些常見問題介紹06-05

    關于php的常用運行方式09-10

    PHP常用MySql操作方法06-21

    主站蜘蛛池模板: 精品熟女少妇aⅴ免费久久 | 国产精品亚洲产品一区二区三区 | 亚洲精品自产拍在线观看动漫| 欧美成人精品一区二区综合| 99久久99这里只有免费费精品| 麻豆精品视频在线观看| 国产偷亚洲偷欧美偷精品| 亚洲热线99精品视频| 国产精品美女WWW爽爽爽视频| www.亚洲精品.com| 色久综合网精品一区二区| 久久国产精品一区| 99热日韩这里只有精品| 国产办公室秘书无码精品99| 亚洲精品国产精品乱码不卞| 精品99久久aaa一级毛片| 日韩精品在线观看视频| 国产精品美女一区二区视频| 亚洲国产精品无码AAA片| 久久精品国产只有精品66 | 国产精品亚洲w码日韩中文| 精品国产免费一区二区三区香蕉| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 国产成人无码精品一区二区三区| 亚洲国产精品无码久久| 亚洲精品无码久久一线| 亚洲电影日韩精品| 无码8090精品久久一区| 亚洲第一永久AV网站久久精品男人的天堂AV | 国产精品九九久久精品女同亚洲欧美日韩综合区 | 97人妻无码一区二区精品免费| 久热这里只有精品视频6| 亚洲精品国精品久久99热| 蜜臀久久99精品久久久久久| 精品无人区无码乱码毛片国产| 国产午夜精品理论片免费观看| 国产A∨国片精品一区二区| 亚洲精品免费在线观看| 91在线手机精品超级观看| 一区二区三区精品| 国产精品单位女同事在线|