亚洲欧美精品沙发,日韩在线精品视频,亚洲Av每日更新在线观看,亚洲国产另类一区在线5

<pre id="hdphd"></pre>

  • <div id="hdphd"><small id="hdphd"></small></div>
      學(xué)習(xí)啦——學(xué)設(shè)計(jì) > > 網(wǎng)站后臺(tái)技術(shù) >

      PHP文件如何進(jìn)行操作方法_PHP文件操作有哪些方法

      時(shí)間: 宇民40 分享

      目前在互聯(lián)網(wǎng)有很多網(wǎng)站的開(kāi)發(fā)都是通過(guò)PHP語(yǔ)言來(lái)完成的,例如,搜狐、網(wǎng)易和百度等,在這些知名網(wǎng)站的創(chuàng)作開(kāi)發(fā)中都應(yīng)用到了PHP語(yǔ)言。下面由學(xué)習(xí)啦小編為大家整理的PHP文件操作方法,希望大家喜歡!

      PHP文件操作方法

      方法一 while:

      /**

      * Created by PhpStorm.

      * User: Administrator

      * Date: 2015/6/29

      * Time: 17:05

      */

      header("Content-type: text/html; charset=utf-8");

      $f = fopen('data','r');

      //讀取多行數(shù)據(jù) while

      while(!feof($f)){//feof() 函數(shù)檢測(cè)是否已到達(dá)文件末尾

      $content = fgets($f);

      echo $content;

      }

      fclose($f);

      方法二 file_get_contents():

      1echo file_get_contents('data');

      PHP排序算法類方法

      四種排序算法的PHP實(shí)現(xiàn):

      1) 插入排序(Insertion Sort)的基本思想是:

      每次將一個(gè)待排序的記錄,按其關(guān)鍵字大小插入到前面已經(jīng)排好序的子文件中的適當(dāng)位置,直到全部記錄插入完成為止。

      2) 選擇排序(Selection Sort)的基本思想是:

      每一趟從待排序的記錄中選出關(guān)鍵字最小的記錄,順序放在已排好序的子文件的最后,直到全部記錄排序完畢。

      3) 冒泡排序的基本思想是:

      兩兩比較待排序記錄的關(guān)鍵字,發(fā)現(xiàn)兩個(gè)記錄的次序相反時(shí)即進(jìn)行交換,直到?jīng)]有反序的記錄為止。

      4) 快速排序?qū)嵸|(zhì)上和冒泡排序一樣,都是屬于交換排序的一種應(yīng)用。所以基本思想和上面的冒泡排序是一樣的。

      PHP處理密碼的方法

      一、MD5

      相信很多PHP開(kāi)發(fā)者在最先接觸PHP的時(shí)候,處理密碼的首選加密函數(shù)可能就是MD5了,我當(dāng)時(shí)就是這樣的:

      $password = md5($_POST["password"]);

      上面這段代碼是不是很熟悉?然而MD5的加密方式目前在PHP的江湖中貌似不太受歡迎了,因?yàn)樗募用芩惴▽?shí)在是顯得有點(diǎn)簡(jiǎn)單了,而且很多解除密碼的站點(diǎn)都存放了很多經(jīng)過(guò)MD5加密的密碼字符串,所以這里我是非常不提倡還在單單使用MD5來(lái)加密用戶的密碼的。

      二、SHA256 和 SHA512

      其實(shí)跟前面的MD5同期的還有一個(gè)SHA1加密方式的,不過(guò)也是算法比較簡(jiǎn)單,所以這里就一筆帶過(guò)吧。而這里即將要說(shuō)到的 SHA256 和 SHA512 都是來(lái)自于SHA2家族的加密函數(shù),看名字可能你就猜的出來(lái)了,這兩個(gè)加密方式分別生成256和512比特長(zhǎng)度的hash字串。

      他們的使用方法如下:

      $password = hash("sha256", $password);

      PHP內(nèi)置了 hash() 函數(shù),你只需要將加密方式傳給 hash() 函數(shù)就好了。你可以直接指明 sha256 , sha512 , md5 , sha1 等加密方式。

      三、鹽值

      在加密的過(guò)程,我們還有一個(gè)非常常見(jiàn)的小伙伴:鹽值。對(duì),我們?cè)诩用艿臅r(shí)候其實(shí)會(huì)給加密的字符串添加一個(gè)額外的字符串,以達(dá)到提高一定安全的目的:

      function generateHashWithSalt($password) {

      $intermediateSalt = md5(uniqid(rand(), true));

      $salt = substr($intermediateSalt, 0, 6);

      return hash("sha256", $password . $salt);

      }

      四、Bcrypt

      如果讓我來(lái)建議一種加密方式的話, Bcrypt 可能是我給你推薦的最低要求了,因?yàn)槲視?huì)強(qiáng)烈推薦你后面會(huì)說(shuō)到的 Hashing API ,不過(guò) Bcrypt 也不失為一種比較不錯(cuò)的加密方式了。

      function generateHash($password) {

      if (defined("CRYPT_BLOWFISH") && CRYPT_BLOWFISH) {

      $salt = '$2y$11$' . substr(md5(uniqid(rand(), true)), 0, 22);

      return crypt($password, $salt);

      }

      }

      27248