熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

Php高手帶路--問題匯總解答(二)

2022-06-13   來源: PHP編程 

  :為什麼我升級PHP後原來的程序出現滿屏的 Notice: Undefined variable:

  這是警告的意思由於變量未定義引起的
  打開phpini找到最下面的error_reporting修改為error_reporting = E_ALL & ~E_NOTICE

  對於Parse error錯誤
  error_reporting()無法關閉
  如果你想關閉任何錯誤提示打開phpini找到display_errors設置為display_errors = Off以後任何錯誤都不會提示

  那什麼是error_reporting?

  :我想在每個文件最前最後面都加上一文件但一個一個添加很麻煩

  :打開phpini文件
  設置 include_path= c:

  :寫兩個文件
  auto_prepend_filephp 和 auto_append_filephp 保存在c盤他們將自動依附在每個php文件的頭部和尾部

  :在phpini中找到:
  Automatically add files before or after any PHP document
  auto_prepend_file = auto_prepend_filephp;依附在頭部
  auto_append_file = auto_append_filephp;依附在尾部

  以後你每個php文件就相當於

  PHP代碼:

  <?php
  Include auto_prepend_filephp ;

  //這裡是你的程序

  Include auto_append_filephp;
  ?>

  :如何利用PHP上傳文件

  PHP代碼:

  <html><head>
  <title>上載文件表單</title></head>
  <body>
  <form enctype=multipart/formdata action= method=post>
  請選擇文件 <br>
  <input name=upload_file type=file><br>
  <input type=submit value=上傳文件>
  </form>
  </body>
  </html>
  <?
  $upload_file=$_FILES[upload_file][tmp_name];
  $upload_file_name=$_FILES[upload_file][name];

  if($upload_file){
  $file_size_max = *;// M限制文件上傳最大容量(bytes)
  $store_dir = d:/;// 上傳文件的儲存位置
  $accept_overwrite = ;//是否允許覆蓋相同文件
  // 檢查文件大小
  if ($upload_file_size > $file_size_max) {
  echo 對不起你的文件容量大於規定;
  exit;
  }

  // 檢查讀寫文件
  if (file_exists($store_dir $upload_file_name) && !$accept_overwrite) {
  Echo 存在相同文件名的文件;
  exit;
  }

  //復制文件到指定目錄
  if (!move_uploaded_file($upload_file$store_dir$upload_file_name)) {
  echo 復制文件失敗;
  exit;
  }

  }

  Echo <p>你上傳了文件:;
  echo $_FILES[upload_file][name];
  echo <br>;
  //客戶端機器文件的原名稱

  Echo 文件的 MIME 類型為:;
  echo $_FILES[upload_file][type];
  //文件的 MIME 類型需要浏覽器提供該信息的支持例如image/gif
  echo <br>;

  Echo 上傳文件大小:;
  echo $_FILES[upload_file][size];
  //已上傳文件的大小單位為字節
  echo <br>;

  Echo 文件上傳後被臨時儲存為:;
  echo $_FILES[upload_file][tmp_name];
  //文件被上傳後在服務端儲存的臨時文件名
  echo <br>;

  $Erroe=$_FILES[upload_file][error];
  switch($Erroe){
  case :
  Echo 上傳成功; break;
  case :
  Echo 上傳的文件超過了 PHPini 中 upload_max_filesize 選項限制的值; break;
  case :
  Echo 上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值; break;
  case :
  Echo 文件只有部分被上傳;break;
  case :
  Echo 沒有文件被上傳;break;
  }
  ?>

  :如何配置GD庫

  下面是我的配置過程
  :用dos命令(也可以手動操作拷貝dlls文件夾裡所有dll文件到system目錄下) copy c:\php\dlls\*dll c:\Windows\system\
  :打開phpini
  設置extension_dir = c:/php/extensions/;
  :
  extension=php_gddll;把extension前面的逗號去掉如果沒有php_gddllphp_gddll也一樣保證確實存在這一文件c:/php/extensions/php_gddll
  :運行下面程序進行測試

  PHP代碼:

  <?php
  Ob_end_flush();
  //注意在此之前不能向浏覽器輸出任何信息要注意是否設置了 auto_prepend_file
  header (Contenttype: image/png);
  $im = @imagecreate ( )
  or die (無法創建圖像);
  $background_color = imagecolorallocate ($im );
  $text_color = imagecolorallocate ($im );
  imagestring ($im A Simple Text String $text_color);
  imagepng ($im);
  ?>

  :什麼是UBB代碼

  UBB代碼是HTML的一個變種是Ultimate Bulletin Board (國外一個BBS程序國內也有不少地方使用這個程序)采用的一種特殊的TAG
  即使禁止使用 HTML你也可以用 UBBCode? 來實現也許你更希望使用 UBBCode? 而不是 HTML 即使論壇允許使用 HTML 因為使用起來代碼較少也更安全

  :如何截取指定長度漢字而不會出現以?>結尾超出部分以代替

  一般來說要截取的變量來自MySQL首先要保證那個字段長度要足夠長一般為char()可以保持個漢字包括標點

  PHP代碼:

  <?PHP
  $str=這個字符好長呀^_^;
  $Short_Str=showShort($str);//截取前面個漢字結果為:這個字符
  Echo $Short_Str;
  Function csubstr($str$start$len)
  {
  $strlen=strlen($str);
  $clen=;
  for($i=;$i<$strlen;$i++$clen++)
  {
  if ($clen>=$start+$len)
  break;
  if(ord(substr($str$i))>xa)
  {
  if ($clen>=$start)
  $tmpstr=substr($str$i);
  $i++;
  }
  else
  {
  if ($clen>=$start)
  $tmpstr=substr($str$i);
  }
  }

  return $tmpstr;
  }
  Function showShort($str$len)
  {
  $tempstr = csubstr($str$len);
  if ($str<>$tempstr)
  $tempstr = ; //要以什麼結尾修改這裡就可以

  return $tempstr;
  }

  :規范你的SQL語句

  在表格字段前面加上`這樣就不會因為誤用關鍵字而出現錯誤當然我並不推薦你使用關鍵字

  例如
  $Sql=INSERT INTO `xltxlm` (`author` `title` `id` `content` `date`) VALUES (xltxlm use` criterion your sql string ::)

  `怎麼輸入? 在TAB鍵上面

  :如何使Html/PHP格式的字符串不被解釋而是照原樣顯示

  PHP代碼:

  <?PHP
  $str=<h>PHP</h>;
  Echo 被解釋過的: $str<br>經過處理的:;
  Echo htmlentities(nlbr($str));
  ?>

  :怎麼在函數裡取得函數外的變量值

  PHP代碼:

  <?PHP
  $a=PHP;
  foo();
  Function foo()
  {
  global $a;//刪除這裡看看是什麼結果
  Echo $a;
  }
  ?>


From:http://tw.wingwit.com/Article/program/PHP/201311/21358.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.