<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. php語言

    PHP代碼實例

    時間:2025-04-10 10:33:09 php語言 我要投稿

    PHP實用的代碼實例

      導語:PHP作為當今主流的服務器端開發語言,廣泛應用于世界上各種排名比較靠前的網站。以下是百分網小編為大家整理的一些php代碼實例,希望可以幫到你。

      1. PHP可閱讀隨機字符串

      此代碼將創建一個可閱讀的字符串,使其更接近詞典中的單詞,實用且具有密碼驗證功能。

      /**************

      *@length - length of random string (must be a multiple of 2)

      **************/

      function readable_random_string($length = 6){

      $conso=array("b","c","d","f","g","h","j","k","l",

      "m","n","p","r","s","t","v","w","x","y","z");

      $vocal=array("a","e","i","o","u");

      $password="";

      srand ((double)microtime()*1000000);

      $max = $length/2;

      for($i=1; $i<=$max; $i++)

      {

      $password.=$conso[rand(0,19)];

      $password.=$vocal[rand(0,4)];

      }

      return $password;

      }

      2. PHP生成一個隨機字符串

      如果不需要可閱讀的字符串,使用此函數替代,即可創建一個隨機字符串,作為用戶的隨機密碼等。

      /*************

      *@l - length of random string

      */

      function generate_rand($l){

      $c= "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

      srand((double)microtime()*1000000);

      for($i=0; $i<$l; $i++) {

      $rand.= $c[rand()%strlen($c)];

      }

      return $rand;

      }

      3. PHP編碼電子郵件地址

      使用此代碼,可以將任何電子郵件地址編碼為 html 字符實體,以防止被垃圾郵件程序收集。

      function encode_email($email=’info@domain.com’, $linkText=’Contact Us’, $attrs =’class="emailencoder"’ )

      {

      // remplazar aroba y puntos

      $email = str_replace(’@’, ’@’, $email);

      $email = str_replace(’.’, ’.’, $email);

      $email = str_split($email, 5);

      $linkText = str_replace(’@’, ’@’, $linkText);

      $linkText = str_replace(’.’, ’.’, $linkText);

      $linkText = str_split($linkText, 5);

      $part1 = ’’;

      $part4 = ’’;

      $encoded = ’’;

      return $encoded;

      }

      4. PHP驗證郵件地址

      電子郵件驗證也許是中最常用的網頁表單驗證,此代碼除了驗證電子郵件地址,也可以選擇檢查郵件域所屬 DNS 中的 MX 記錄,使郵件驗證功能更加強大。

      function is_valid_email($email, $test_mx = false)

      {

      if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})$", $email))

      if($test_mx)

      {

      list($username, $domain) = split("@", $email);

      return getmxrr($domain, $mxrecords);

      }

      else

      return true;

      else

      return false;

      }

      5. PHP列出目錄內容

      function list_files($dir)

      {

      if(is_dir($dir))

      {

      if($handle = opendir($dir))

      {

      while(($file = readdir($handle)) !== false)

      {

      if($file != "." && $file != ".." && $file != "Thumbs.db")

      {

      echo ’’.$file.’

      ’."n";

      }

      }

      closedir($handle);

      }

      }

      }

      6. PHP銷毀目錄

      刪除一個目錄,包括它的內容。

      /*****

      *@dir - Directory to destroy

      *@virtual[optional]- whether a virtual directory

      */

      function destroyDir($dir, $virtual = false)

      {

      $ds = DIRECTORY_SEPARATOR;

      $dir = $virtual ? realpath($dir) : $dir;

      $dir = substr($dir, -1) == $ds ? substr($dir, 0, -1) : $dir;

      if (is_dir($dir) && $handle = opendir($dir))

      {

      while ($file = readdir($handle))

      {

      if ($file == ’.’ || $file == ’..’)

      {

      continue;

      }

      elseif (is_dir($dir.$ds.$file))

      {

      destroyDir($dir.$ds.$file);

      }

      else

      {

      unlink($dir.$ds.$file);

      }

      }

      closedir($handle);

      rmdir($dir);

      return true;

      }

      else

      {

      return false;

      }

      }

      7. PHP解析 JSON 數據

      與大多數流行的 Web 服務如 twitter 通過開放 API 來提供數據一樣,它總是能夠知道如何解析 API 數據的各種傳送格式,包括 JSON,XML 等等。

      $json_string=’{"id":1,"name":"foo","email":"foo@foobar.com","interest":["wordpress","php"]} ’;

      $obj=json_decode($json_string);

      echo $obj->name; //prints foo

      echo $obj->interest[1]; //prints php

      8. PHP解析 XML 數據

      //xml string

      $xml_string="

      Foo

      foo@bar.com

      Foobar

      foobar@foo.com

      ";

      //load the xml string using simplexml

      $xml = simplexml_load_string($xml_string);

      //loop through the each node of user

      foreach ($xml->user as $user)

      {

      //access attribute

      echo $user[’id’], ’ ’;

      //subnodes are accessed by -> operator

      echo $user->name, ’ ’;

      echo $user->email, ’

      ’;

      }

      9. PHP創建日志縮略名

      創建用戶友好的日志縮略名。

      function create_slug($string){

      $slug=preg_replace(’/[^A-Za-z0-9-]+/’, ’-’, $string);

      return $slug;

      }

      10. PHP獲取客戶端真實 IP 地址

      該函數將獲取用戶的真實 IP 地址,即便他使用代理服務器。

      function getRealIpAddr()

      {

      if (!emptyempty($_SERVER[’HTTP_CLIENT_IP’]))

      {

      $ip=$_SERVER[’HTTP_CLIENT_IP’];

      }

      elseif (!emptyempty($_SERVER[’HTTP_X_FORWARDED_FOR’]))

      //to check ip is pass from proxy

      {

      $ip=$_SERVER[’HTTP_X_FORWARDED_FOR’];

      }

      else

      {

      $ip=$_SERVER[’REMOTE_ADDR’];

      }

      return $ip;

      }

      11. PHP強制性文件下載

      為用戶提供強制性的文件下載功能。

      /********************

      *@file - path to file

      */

      function force_download($file)

      {

      if ((isset($file))&&(file_exists($file))) {

      header("Content-length: ".filesize($file));

      header(’Content-Type: application/octet-stream’);

      header(’Content-Disposition: attachment; filename="’ . $file . ’"’);

      readfile("$file");

      } else {

      echo "No file selected";

      }

      }

      12. PHP創建標簽云

      function getCloud( $data = array(), $minFontSize = 12, $maxFontSize = 30 )

      {

      $minimumCount = min( array_values( $data ) );

      $maximumCount = max( array_values( $data ) );

      $spread = $maximumCount - $minimumCount;

      $cloudHTML = ’’;

      $cloudTags = array();

      $spread == 0 && $spread = 1;

      foreach( $data as $tag => $count )

      {

      $size = $minFontSize + ( $count - $minimumCount )

      * ( $maxFontSize - $minFontSize ) / $spread;

      $cloudTags[] = ’’

      . htmlspecialchars( stripslashes( $tag ) ) . ’’;

      }

      return join( "n", $cloudTags ) . "n";

      }

      /**************************

      **** Sample usage ***/

      $arr = Array(’Actionscript’ => 35, ’Adobe’ => 22, ’Array’ => 44, ’Background’ => 43,

      ’Blur’ => 18, ’Canvas’ => 33, ’Class’ => 15, ’Color Palette’ => 11, ’Crop’ => 42,

      ’Delimiter’ => 13, ’Depth’ => 34, ’Design’ => 8, ’Encode’ => 12, ’Encryption’ => 30,

      ’Extract’ => 28, ’Filters’ => 42);

      echo getCloud($arr, 12, 36);

      13. PHP尋找兩個字符串的相似性

      PHP 提供了一個極少使用的 similar_text 函數,但此函數非常有用,用于比較兩個字符串并返回相似程度的百分比。

      similar_text($string1, $string2, $percent);

      //$percent will have the percentage of similarity

      14. PHP在應用程序中使用 Gravatar 通用頭像

      隨著 WordPress 越來越普及,Gravatar 也隨之流行。由于 Gravatar 提供了易于使用的 API,將其納入應用程序也變得十分方便。

      /******************

      *@email - Email address to show gravatar for

      *@size - size of gravatar

      *@default - URL of default gravatar to use

      *@rating - rating of Gravatar(G, PG, R, X)

      */

      function show_gravatar($email, $size, $default, $rating)

      {

    echo ’

      height="’.$size.’px" />’;

      }

      15. PHP在字符斷點處截斷文字

      所謂斷字 (word break),即一個單詞可在轉行時斷開的地方。這一函數將在斷字處截斷字符串。

      // Original PHP code by Chirp Internet: www.chirp.com.au

      // Please acknowledge use of this code by including this header.

      function myTruncate($string, $limit, $break=".", $pad="...") {

      // return with no change if string is shorter than $limit

      if(strlen($string) <= $limit)

      return $string;

      // is $break present between $limit and the end of the string?

      if(false !== ($breakpoint = strpos($string, $break, $limit))) {

      if($breakpoint < strlen($string) - 1) {

      $string = substr($string, 0, $breakpoint) . $pad;

      }

      }

      return $string;

      }

      /***** Example ****/

      $short_string=myTruncate($long_string, 100, ’ ’);

      16. PHP文件 Zip 壓縮

      /* creates a compressed zip file */

      function create_zip($files = array(),$destination = ’’,$overwrite = false) {

      //if the zip file already exists and overwrite is false, return false

      if(file_exists($destination) && !$overwrite) { return false; }

      //vars

      $valid_files = array();

      //if files were passed in...

      if(is_array($files)) {

      //cycle through each file

      foreach($files as $file) {

      //make sure the file exists

      if(file_exists($file)) {

      $valid_files[] = $file;

      }

      }

      }

      //if we have good files...

      if(count($valid_files)) {

      //create the archive

      $zip = new ZipArchive();

      if($zip->open($destination,$overwrite ? ZIPARCHIVE::OVERWRITE : ZIPARCHIVE::CREATE) !== true) {

      return false;

      }

      //add the files

      foreach($valid_files as $file) {

      $zip->addFile($file,$file);

      }

      //debug

      //echo ’The zip archive contains ’,$zip->numFiles,’ files with a status of ’,$zip->status;

      //close the zip -- done!

      $zip->close();

      //check to make sure the file exists

      return file_exists($destination);

      }

      else

      {

      return false;

      }

      }

      /***** Example Usage ***/

      $files=array(’file1.jpg’, ’file2.jpg’, ’file3.gif’);

      create_zip($files, ’myzipfile.zip’, true);

      17. PHP解壓縮 Zip 文件

      /**********************

      *@file - path to zip file

      *@destination - destination directory for unzipped files

      */

      function unzip_file($file, $destination){

      // create object

      $zip = new ZipArchive() ;

      // open archive

      if ($zip->open($file) !== TRUE) {

      die (’Could not open archive’);

      }

      // extract contents to destination directory

      $zip->extractTo($destination);

      // close archive

      $zip->close();

      echo ’Archive extracted to directory’;

      }

      18. PHP為 URL 地址預設 http 字符串

      有時需要接受一些表單中的網址輸入,但用戶很少添加 http:// 字段,此代碼將為網址添加該字段。

      if (!preg_match("/^(http|ftp):/", $_POST[’url’])) {

      $_POST[’url’] = ’http://’.$_POST[’url’];

      }

      19. PHP將網址字符串轉換成超級鏈接

      該函數將 URL 和 E-mail 地址字符串轉換為可點擊的超級鏈接。

      function makeClickableLinks($text) { $text = eregi_replace(’(((f|ht){1}tp://)[-a-zA-Z0-9@:%_+.~#?&//=]+)’, ’1’, $text); $text = eregi_replace(’([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_+.~#?&//=]+)’, ’12’, $text); $text = eregi_replace(’([_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3})’, ’1’, $text); return $text;}

    【PHP代碼實例】相關文章:

    學習php分頁代碼實例05-20

    實用的PHP實例代碼20個06-11

    實用的PHP語言實例代碼06-13

    PHP時間戳使用實例代碼03-10

    php生成sitemap.xml的實例代碼06-02

    PHP開發微信支付實例代碼03-25

    最實用的PHP實例代碼21個02-21

    PHP中檢測ajax請求的代碼實例03-16

    php中使用redis隊列操作實例代碼05-16

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人