【PHP程式設計+MySQL資料庫+PHPMaker整合教學+技術諮詢】 本月特價優惠中! 動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎? MySQL『資料庫』與『資料表』,用PHP程式有那麼難控制嗎? 你不用死背『PHP程式』與『MySQL資料庫』語法也能獨自設計完成! 這是自動化軟體程式的年代 (用PHPMaker 設計在彈指之間就能自動生成整個 PHP 程式系統) 這不是:神話!程式軟體模組取代了這一切複雜的工程。 你可以自己建構自己專屬的: 訂購表單、會員名單、擴增購物車特殊頁面 →POS 系統、CRM 系統、ERP 系統、HRM 系統...等等 (更可以加入數據資源銷售賺錢!) 該是:【見證奇蹟】的時候了! 非親眼所見....真的無法相信此神兵利器!

     您知道PHP6將實現的8個特性和功能嗎?   

PHP創始人Rasmus Lerdorf提出的一個wishlist:

1.完全拋棄全局變量

2. 刪除Magic Quotes

3. 增加一個輸入過濾延伸代替Magic Quotes,提供一個機制讓開發者很容易自己關閉或開啟這個功能。
          而不是像現在的作法那樣先判斷伺服器的GPC是否開啟。

4. 預設加入opcode cache,對代碼執行進行速度上的改善。
          目前大多用的是PECL或APC,但有一個官方的解決專案顯然是比較好的。

5. 刪除安全模式 safe_mode,改進open_basedir

6. 刪除在PHP3/4中已經被標示為過時deprecated的內容

另兩個考慮中的,但是意義不太大的:

7. 標識符(程式中使用的變量名、函數名、標號等)大小寫敏感

8. 刪除各種函數的別名

PHP程式設計問題諮詢:
請問,我用Apache後首頁出現亂碼如何排除?

———————————————————
PHP程式設計問題回覆:
您用Apache後首頁出現亂碼要排除,可以參考以下的說明:

———————————————————

方法一:
AddDefaultCharset ISO-8859-1 改為 AddDefaultCharset off

方法二:
AddDefaultCharset big5

———————————————————

 在搜尋引擎排名SEO教學中,總教頭常提到Google PageRank PR值
那如何達成Google PageRank PR值線上查詢?其php代碼又該如何撰寫?

PR值全稱為PageRank.PageRank(網頁層級)是Google用於評測一個網頁重要性的一種方法。
在揉合了諸如Title標識和Keywords標識等所有其它因素之後

Google通過PageRank來調整結果.使那些更具重要性的網頁在搜尋結果中另網站排名獲得提升
從而提高搜尋結果的關聯性和質量.PR值最高為10.一般PR值達到4.就算是一個不錯的網站了

PageRank是google搜尋排名算法中的一個組成部分,層級從1到10級
10級為滿分PR值越高說明該網頁在搜尋排名中的地位越重要

也就是說,在其他條件相同的情況下,PR值高的網站在google搜尋結果的排名中有優先權。
———————————————
< ?php

// Edit this to your website url:
$myWebSite = http://www.mycodes.net;

define('GMAG', 0xE6359A60);

//unsigned shift right
function zeroFill($a, $b) {
$z = hexdec(80000000);

if ($z & $a) {
$a = ($a>>1);
$a &= (~$z);
$a |= 0x40000000;
$a = ($a>>($b-1));
} else {
$a = ($a>>$b);
}

return $a;
}

function mix($a,$b,$c) {

$a -= $b; $a -= $c; $a ^= (zeroFill($c,13));
$b -= $c; $b -= $a; $b ^= ($a< &lt;8);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,13));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,12));
$b -= $c; $b -= $a; $b ^= ($a<&lt;16);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,5));
$a -= $b; $a -= $c; $a ^= (zeroFill($c,3));
$b -= $c; $b -= $a; $b ^= ($a<&lt;10);
$c -= $a; $c -= $b; $c ^= (zeroFill($b,15));

return array($a,$b,$c);
}

function GCH($url, $length=null, $init=GMAG) {

if(is_null($length)) {
$length = sizeof($url);
}

$a = $b = 0x9E3779B9;
$c = $init;
$k = 0;
$len = $length;

while($len >= 12) {
$a += ($url[$k+0] +($url[$k+1]< &lt;8) +($url[$k+2]<&lt;16) +($url[$k+3]<&lt;24));
$b += ($url[$k+4] +($url[$k+5]<&lt;8) +($url[$k+6]<&lt;16) +($url[$k+7]<&lt;24));
$c += ($url[$k+8] +($url[$k+9]<&lt;8) +($url[$k+10]<&lt;16)+($url[$k+11]<&lt;24));
$mix = mix($a,$b,$c);
$a = $mix[0]; $b = $mix[1]; $c = $mix[2];
$k += 12;
$len -= 12;
}

$c += $length;

switch($len) {/* all the case statements fall through */
case 11: $c+=($url[$k+10]<&lt;24);
case 10: $c+=($url[$k+9]<&lt;16);
case 9 : $c+=($url[$k+8]<&lt;8);
/* the first byte of c is reserved for the length */
case 8 : $b+=($url[$k+7]<&lt;24);
case 7 : $b+=($url[$k+6]<&lt;16);
case 6 : $b+=($url[$k+5]<&lt;8);
case 5 : $b+=($url[$k+4]);
case 4 : $a+=($url[$k+3]<&lt;24);
case 3 : $a+=($url[$k+2]<&lt;16);
case 2 : $a+=($url[$k+1]<&lt;8);
case 1 : $a+=($url[$k+0]);
/* case 0: nothing left to add */
}

$mix = mix($a,$b,$c);
/*——————————————– report the result */
return $mix[2];
}

//converts a string into an array of integers containing the numeric value of the char
function strord($string) {

for($i=0;$i<strlen($string);$i++) {
$result[$i] = ord($string{$i});
}

return $result;
}

function getPR($_url) {

$url = 'info:'.$_url;
$ch = GCH(strord($url));
$url='info:'.urlencode($_url);
$pr = file("http://www.google.com/search?client=navclient-auto&ch=6$ch&ie=UTF-8&oe=UTF-8&features=Rank&q=$url");
$pr_str = implode("", $pr);

return substr($pr_str,strrpos($pr_str, ":")+1);
}

echo "<br>The PR of $myWebsite is: ".getPR($myWebSite);
?>
 
———————————————————–

您知道在使用PHP程式中,日曆算法是如何達成的嗎?

/**
* 日曆
*
*/
if (function_exists(‘date_default_timezone_set’)) {
date_default_timezone_set(‘Asia/Chongqing’);
}
$date = isset($_GET[‘date’]) ? $_GET[‘date’] : date(‘Y-m-d’);
$date = getdate(strtotime($date));
$end = getdate(mktime(0, 0, 0, $date[‘mon’] + 1, 1, $date[‘year’]) – 1);
$start = getdate(mktime(0, 0, 0, $date[‘mon’], 1, $date[‘year’]));
$pre = date(‘Y-m-d’, $start[0] – 1);
$next = date(‘Y-m-d’, $end[0] + 86400);
$html = ‘<table border=”1″>’;
$html .= ‘<tr>’;
$html .= ‘<td><a href=”‘ . $PHP_SELF . ‘?date=’ . $pre . ‘”>-</a></td>’;
$html .= ‘<td colspan=”5″>’ . $date[‘year’] . ‘;’ . $date[‘month’] . ‘</td>’;
$html .= ‘<td><a href=”‘ . $PHP_SELF . ‘?date=’ . $next . ‘”>+</a></td>’;
$html .= ‘</tr>’;
$arr_tpl = array(0 => ”, 1 => ”, 2 => ”, 3 => ”, 4 => ”, 5 => ”, 6 => ”);
$date_arr = array();
$j = 0;
for ($i = 0; $i < $end[‘mday’]; $i++) {
if (!isset($date_arr[$j])) {
$date_arr[$j] = $arr_tpl;
}
$date_arr[$j][($i+$start[‘wday’])%7] = $i+1;
if ($date_arr[$j][6]) {
$j++;
}
}
foreach ($date_arr as $value) {
$html .= ‘<tr>’;
foreach ($value as $v) {
if ($v) {
if ($v == $date[‘mday’]) {
$html .= ‘<td><b>’ . $v . ‘</b></td>’;
} else {
$html .= ‘<td>’ . $v . ‘</td>’;
}
} else {
$html .= ‘<td>&nbsp;</td>’;
}
}
$html .= ‘</tr>’;
}
$html .= ‘</table>’;
echo $html;

【文章標題】: 站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版
【文章作者】: 軟體中文化密訓基地-總教頭
【作者信箱】: steven8ster@gmail.com
【作者首頁】: http://por.tw/f2blog
【軟體中文化課程】: http://por.tw/f2blog/2009-tchinese/index.html
【內容分類】: 站模版設計工具(主題布景產生器)
【附件大小】: 68.2MB
【基地主機】: http://visdacom.com/f2blog
【解壓密碼】: 軟體中文化教學密訓基地
【版權聲明】: 【原創】軟體中文化密訓基地,轉載必須保留完整標頭。刪除者依法追究!
——————————————————————————–
【文章內容】
  站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版
 
  您還在一步一步、慢慢地修改佈景主題程式碼和CSS嗎?
  其實,有更好的辦法!使用Artisteer.v2.5.31067 繁體中文版就對啦!
 
  你是否曾經為了尋找一個適合的佈景主題找了半天,找到了又為了修改成自己想要的樣子,又修改了半天,最後發覺想呈現更好的網站,需要浪費很多的時間。
 
  從現在開始,你不用再浪費寶貴的時間慢慢地尋找佈景主題,有了 Artisteer,你能夠在很短的時間內,透過功能強大的 Artisteer佈景主題產生器,你將製作出任何你夢想中的佈景主題。
 
  Artisteer是「唯一」一套能夠自動製作出佈景主題的軟體。
  透過 Artisteer,你不需要了解HTML、CSS及其他任何的程式語言。
  當然,你也不需要學會 Dreamweaver和 Photoshop,只要按幾個鍵,你就能為自己的CMS(Wordpress、Joomla、Blogger、Drupal…產生出漂亮的佈景主題。
 
 Artisteer特色
  ‧支援多國語系,(總教頭已經繁體中文化完成,找總教頭就有繁體中文版啦!)
  ‧自動化的設計:任何設計元素的定位、調整,圖片的顏色及大小、對比,邊框
  的顏色、形狀…,許多智慧圖片處理效果,讓你的佈景主題設計自動的變得更
  美觀
  ‧設計元素:可輕易調整CMS中任何的設計元素,如:版面編排、背景、標頭、導航列
  內文及按紐…
  ‧精準的控制:可讓你控制基本的網頁元素,像是版面編排、版面配色以至於選單的
  漸層
  ‧容易使用:幾乎不用學習,甚至連一個六歲大的小朋友在30分鐘內也能輕易上手
 
  使用 Artisteer 可以讓你在幾分鐘內建立 WordPress 的部落格主旨和專業水平的網站模版。
 
  傻瓜式模版製作利器——Artisteer是一個網站模版設計工具,使用傻瓜式模版製作利器Artisteer可以讓你在幾分鐘內建立 WordPress的部落格主旨和專業水平的網站模版。Artisteer採用獨特的方法,不需要任何編碼或CSS的知識來設計模版,整個過程完全傻瓜式 操作,該計劃內含各種背景圖片,紋理,照片剪貼畫,字型的主旨和其它設計元素,以說明你建立模版,而不需要額外的資源。成品模版可以匯出為 WordPress的主旨或內容管理系統模版,使用傻瓜式模版製作利器Artisteer來製作主旨是再合適不過了。
   
  Artisteer的軟體設計簡潔大方,讓使用者在設計主旨中能夠輕鬆上手,而對於製作WordPress主旨,更考慮到每一個頁面的各個細節,製作完畢以後,可以直接輸出WordPress主旨包,立刻就可以使用,實在是非常方便。
 
 
  Artisteer是一個網站模版設計工具,使用 Artisteer 可以讓你在幾分鐘內建立 WordPress 的部落格主旨和專業水平的網站模版。
  Artisteer 採用獨特的方法,不需要任何編碼或 CSS 的知識來設計模版,整個過程完全傻瓜式操作,該計劃內含各種背景圖片,紋理,照片剪貼畫,字型的主旨和其它設計元素,以說明你建立模版,而不需要額外的資源。
  成品模版可以匯出為 WordPress 的主旨或內容管理系統模版,使用傻瓜式模版製作利器 Artisteer 來製作主旨是再合適不過了。
 
  Artisteer 的軟體設計簡潔大方,讓使用者在設計主旨中能夠輕鬆上手,而對於製作 WordPress 主旨,更考慮到每一個頁面的各個細節,製作完畢以後,可以直接輸出 WordPress 主旨包,立刻就可以使用,實在是非常方便。
 
  整個過程完全傻瓜式,沒有繁瑣的操作過程。
  只要短短的幾分鐘就能製作出一個非常美觀的主旨。
  傻瓜式模版製作利器—— Artisteer 可以快速說明你建立主旨模版,不需要任何額外的資源,成品模版可以匯出為 WordPress 的主旨或內容管理系統模版,立刻就可以使用,非常方便;可見使用傻瓜式模版製作利器 Artisteer 來製作主旨是再合適不過了。
 
  Artisteer的是第一個也是唯一的網頁設計自動化產品,創造精彩瞬間看,獨特的網站模版和部落格的主旨。
 
  *設計真棒WordPress的部落格,專業的Joomla!和Drupal模版,並在幾分鐘內很酷的網站設計
  *易於使用
  *無需學習的Photoshop,CSS,HTML格式或其他技術
  *匯出為 WordPress的主旨或CMS模版
 
  Artisteer你馬上成為 Web設計專家,編輯和切片圖像,編碼的XHTML和CSS,創造網頁設計模版,Joomla模版,Drupal主旨,WordPress的主 旨,DotNetNuke的皮膚,和Blogger的所有模版在幾分鐘內,沒有 Photoshop或Dreamweaver,無技術技能。
 
  十大使用Artisteer的理由:
 
  1。生成超酷的網頁設計與想法。
  2。調整產生的設計,可以建立非常好看Web和模版。
  3。建立完全正確的,有效的HTML和CSS,這符合Web標準。
  4。你不需要學習的Photoshop,CSS,HTML和其他Web技術建立美觀的設計,內含圖片和按鈕。
  5。如果你是一個網頁設計師,產生的想法,原型和快速的網站為您的客戶和朋友。
  6。選取並使用了許多內含設計元素,從背景的照片物件和按鈕。
  7。自動解決問題的圖像失真,Web瀏覽器的相容性和其他細節需要時間和知識。
  8。瞭解如何建立專業的HTML和CSS代碼。
  9。省錢對 WordPress主旨和網頁設計模版。
  10。如果你沒有時間,租你的孩子造成極大的期待為您設計網站。
 
  上菜啦!各位看倌請慢用!

attachments/201010/6825686022.png
 
——————————————————————————–
【補充說明】
 
  Artisteer is the first and only Web design automation product that instantly creates fantastic looking,
  unique website templates and blog themes.
 
  * Design awesome WordPress Blogs, professional Joomla! and Drupal templates, and cool Website designs in
  Minutes
  * Easy to Use
  * No need to learn Photoshop, CSS, HTML or other technologies
  * Export as WordPress Theme or CMS Template
 
  With Artisteer YOU immediately become a Web design expert, editing and slicing graphics, coding XHTML and
  CSS, and creating Web Design Templates, Joomla templates, Drupal themes, WordPress themes, DotNetNuke
  skins, and Blogger templates all in minutes, without Photoshop or Dreamweaver, and no technical skills.
 
 
  Top 10 reasons to use Artisteer
 
  1. Generate cool Web design ideas.
  2. Adjust generated designs to create great looking Web and Blog templates.
  3. Create perfectly correct, validated HTML and CSS that conform to Web standards.
  4. You don't need to learn Photoshop, CSS, HTML and other Web technologies to create great looking designs,
  including images and buttons.
  5. If you are a Web designer, generate ideas, prototypes and quick Websites for your clients and friends.
  6. Choose and use many included design elements, from backgrounds to photo objects and buttons.
  7. Automatically solve problems with image aliasing, Web browser compatibility and other details requiring
  time and knowledge.
  8. Learn how to create professional HTML and CSS code.
  9. Save money on WordPress Themes and Web design templates.
  10. If you don't have the time, hire your kids to create great looking web design for you.
 
  站模版設計工具(主題布景產生器)-Artisteer.v2.5.31067 繁體中文化版下載之檔案位址:
 
  http://por.tw/Downloads/Artisteer.v2.5.31067.rar
 
——————————————————————————–
你還在自己摸索如何將英文、日文或簡體中文軟體如何繁體中文化嗎?有【技術顧問服務】可諮詢嗎?
往往一個問題無法解決你可能要發很多時間處理(或許永遠找出答案)那就是軟體中文化痛苦的開始!
購買【軟體中文化】函授課程錄影DVD教學課程,你就可獲得【軟體中文化】技術的【顧問諮詢服務】

PHP程式編輯器 MPSOFTWARE phpDesigner 8.1.0.10 版

phpDesigner8 是一個強大的和閃電般快速的PHP IDE和PHP編輯器
它也是一個全功能的HTML5,CSS3和JavaScript編輯器功能,以提高您的生產力提高 – 為初學者和專業開發人員!
一切從編輯 phpDesigner8 設計、分析、除錯PHP、HTML5、CSS3供JavaScript和其他語系的網站發佈!



MPSOFTWARE phpDesigner 8 主要特點:

與朦朧的智慧語法高亮和沒有暗淡
»PHP,HTML和CSS的語法檢查
»PHP,HTML CSS和JavaScript代碼完成,內含jQuery和其他流行的JavaScript框架
PHP和JavaScript代碼提示
»HTML的代碼檢查
»直觀的模式瀏覽通過您的代碼,內含你的項目
支援嵌套的PHP對像
»PHP類工作的進階支援
支援PHP和JavaScript面向對像寫程式(OOP)
»HTML的代碼檢查
»為PHP代碼瀏覽器(過濾器),CSS和JavaScript的
»工作與任何PHP框架(內含通過代碼完成和代碼提示)
»前往任何PHP,CSS和JavaScript的聲明
»見在phpDesigner7 jQuery的支援行動
除錯和配置檔與Xdebug的PHP腳本
»簡單易學的介面和有趣的使用

phpDesigner 8 is more than just a powerful and lightning fast PHP IDE and PHP EDITOR – it's also a full-featured HTML5-, CSS3- and JavaScript editor boosted with features to increase your productivity — for both beginners and professional developers!
phpDesigner 8 assists you with everything from editing, analyzing, debugging to publishing websites powered by PHP, HTML5, CSS3 to JavaScript and other languages!

Main features:
» Intelligent syntax highlighting with dim and no dim
» Syntax check for PHP, HTML and CSS
» Code completion for PHP, HTML, CSS and javascript including jQuery and other popular javascript frameworks
» Code tip for PHP and javascript
» Code inspector for HTML
» Intuitive way to navigate through your code including your projects
» Support for nested PHP objects
» Advanced support for working with PHP classes
» Support for PHP and javascript object oriented programming (oop)
» Code inspector for HTML
» Code explorer for PHP (with filter), CSS and javascript
» Work with any PHP framework (including through the code completion and code tip)
» Go to any PHP, CSS and javascript declarations
» See support for jQuery in phpDesigner 7 in action
» Debug and profile PHP scripts with Xdebug
» Easy to learn interface and fun to use


MPSOFTWARE phpDesigner 8 Size: 23.9 MB


PHP程式編輯器 MPSOFTWARE phpDesigner 8.1.0.10 版
Home Page: http://www.mpsoftware.dk/phpdesigner.php

PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學)訪客最常問的10個問題:
1.聽說:PHPMaker軟體能開發與快速生成網站,為何網路與書局找不到中文相關資訊?
總教頭回覆:
PHPMaker軟體是外國開發的軟體,知道的人用它來快速開發與快速生成網站賺錢
這種能快速賺大錢的好工具當然要『暗槓』,程式設計師怎會笨到:去寫書宣揚它呢?
PHPMaker軟體的關建設定非常重要!這又豈是一般的『講師』能駕馭的呢?
再則此軟體全是英文(需要配合MySQL資料庫與外掛程式或第三方插件)才能完美演出
還要有訂單與進、銷、存的會計觀念,配合 Microsoft Excel 更是好用….
總教頭獨家將此軟體中文化,加上自己研發的一些運用密技,讓你在『網賺』上更加好用。

2.PHP程式設計+MySQL資料庫+Dreamweaver(PHPMaker運用)整合教學,有那些贈品?
總教頭回覆:
1.總教頭自己獨家 PHPMaker繁體中文化版(中文化修正過157次的正確版)
2.贈送你PHP頁面 Dreamweaver 能快速處理的補強功能擴充程式
3.PHP 5 中文技術手冊(繁體中文HTML網路版)
4.MySQL資料庫語法(繁體中文HTML網路版)

繼續閱讀

PHP程式設計問題諮詢:
請問,如何遠端鏈結Mysql資料庫?

———————————————————
PHP程式設計問題回覆:
您要從遠端鏈結Mysql資料庫,可以參考以下的說明:

———————————————————

在增加用戶的mysql表裏有一個host欄位,修改為"%",或者指定允許連接的ip位址,這樣,你就可以遠端調用了。

$link=mysql_connect("192.168.1.80:3306","root","");

———————————————————

PHP程式設計問題諮詢:
我想利用PHP上傳文件,其方法為何?

———————————————————
PHP程式設計問題回覆:
您要利用PHP上傳文件,可以參考以下的範例:

<html><head>
<title>上載文件表單</title></head>
<body>
<form enctype="multipart/form-data" 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 = 1000*1000;// 1M限制檔上傳最大容量(bytes)
$store_dir = "d:/";// 上傳檔的儲存位置
$accept_overwrite = 1;//是否允許覆蓋相同檔
// 檢查檔大小
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 0:
            Echo   "上傳成功"; break;
        case 1:
            Echo   "上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值."; break;
        case 2:
            Echo   "上傳檔的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值。";    break;
        case 3:
            Echo   "檔只有部分被上傳";break;
        case 4:
            Echo   "沒有檔被上傳";break;
}
?>

————————————————————-

改善PHP開發模式的方法
  
關於如何使用PHP語系來開發應用程式,我們每個人都有自己的技巧和方法。
實際上,我們大家都知道,有很多種模式和方法可以讓開發變得更加簡單。
儘管如此,還是有一些方法,尤其是編碼樣式和習慣,是大家公認的。
我們列舉出了可以改善PHP開發模式的方法。

我們不應該輕視代碼的組織,選取的編碼樣式應該是事先約定好的,許多人只是隨機的在做這些事情,這讓他們的代碼變得十分混亂,十分令人難以理解。

你可以在那裡宣稱自己是最好的開發者,但是,如果你的代碼缺乏良好的組織,你是不會走的太遠的。
舉個例子,比如說,在當地的社區大學中,你是一名教師。
如果你決定從初級和進階的資料中隨機地選取一大堆知識,然後按照這種順序把這些知識教授給你的學生
而不是從初級到進階,循序漸進地教授給你的學生,那麼你的學生們會十分困惑,而且,作為一名教師,他們是不會歡迎你的,如果他們不歡迎你,他們就不會上你的課。

我的觀點是,找出一種適合你的組織方法和編碼樣式,並且一直堅持下去,這樣的話,你的代碼的組織和配置會變得十分有條理。

對於獨立的開發者來說,內定檔案並不是很流行,它主要是面向企業項目和開源項目的。
但是,這並不是說,內定檔案對你的項目沒有好處。對於你的項目來說,內定檔案是改善你的編碼和工作模式的重中之重。

許多支援PHP的整合開發環境(IDE)都支援內定檔案,這可以說明你記住你建立那些函數的時候用了哪些參數,或是,那些函數的功能是什麼?

如果你把你的項目移交給另外一個開發者或團隊,他們一定會對這份內定檔案心存感激的,因為它傳遞了和PHP項目(尤其是那些規模較大的PHP項目)有關的大量訊息。
 

PHP程式設計問題諮詢:
請問,怎麼用php解釋字元?

———————————————————
PHP程式設計問題回覆:
怎麼用php解釋字元?,您可以參考以下的說明:

———————————————————
怎麼用php解釋字元呢?

例如:輸入2+2*(1+2),自動輸出8
可以用eval函數

<form method=post action="">
<input type="text" name="str"><input type="submit">
</form>
<?php
$str=$_POST['str'];
eval("$o=$str;");
Echo   "$o";
?>
另外,用此函數必須特別小心!!
如果有人輸入format: d:會是什麼結果?

————————————————————-

PHP程式設計問題諮詢:
請問,為什麼單引號,雙引號在接受頁面變成('")?

———————————————————
PHP程式設計問題回覆:
為什麼單引號,雙引號在接受頁面變成('"),可以參考以下的說明:

———————————————————
解決方法:

方法一:在php.ini中設置:magic_quotes_gpc = Off


方法二: $str=stripcslashes($str)

———————————————————

如何用PHP網頁,取得目前Linux主機PHP版本?(phpversion)

如果你是租用虛擬主機,如何知道Linux主機PHP版本呢?
———————————————————-
方法如下:
先用網頁編輯軟體
例如:Dreamweaver 新增一個新的PHP動態空白網頁
切到程式碼
刪除全部字串,再貼入下面語法,存檔並上傳至主機網站下
在瀏覽器網址列輸入該PHP路徑,開啟該網頁
即可以看到該Linux主機PHP版本!

<?php

// prints e.g. ‘Current PHP version: 3.0rel-dev’

echo “Current PHP version: “.phpversion();

?>

———————————————————–
語法 : string phpversion (void)

說明 :

傳回現在所安裝的PHP的版本。

———————————————————–
參考 : phpinfo( ) phpcredits( ) php_logo_guid( )

 

從 PHP 4 移植到 PHP 5需要注意的事項

向後不相容的改變

儘管大部分 PHP 4 的代碼應該不用修改就能運行,還是應該留意以下向後不相容的改變:

    *

      有了一些新關鍵字。
    *

      strrpos() 和 strripos() 如今使用整個字串作為 needle。
    *

      非法使用字串偏移量會導致 E_ERROR 而不是 E_WARNING。一個非法使用的例子:$str = 'abc'; unset($str[0]);.
    *

      array_merge() 被改成只接受陣列。若果傳遞入非陣列變量,對每個此類參數都會發出一條 E_WARNING 訊息。要小心因為你的代碼有可能瘋狂發出 E_WARNING。
    *

      PATH_TRANSLATED 伺服器變量在 Apache2 SAPI 中不再暗中設定,這和 PHP 4 中的情形相反,若果 Apache 沒產生此值則其被設為和 SCRIPT_FILENAME 伺服器變量一樣的值。此修改是為了遵守 CGI 規範。更多訊息見 bug #23610,並參考手冊中 $_SERVER['PATH_TRANSLATED'] 的說明。此問題也影響到 PHP >= 4.3.2 的版本。
    *

      Tokenizer 增加不再定義 T_ML_COMMENT 常量。若果把 error_reporting 設為 E_ALL,PHP 將產生一條訊息。儘管 T_ML_COMMENT 從來都沒用到過,還是在 PHP 4 中定義了。在 PHP 4 和 PHP 5 中 // 和 /* */ 都被解析為 T_COMMENT 常量。但是 PHPDoc 風格的注解 /** */,自 PHP 5 開始被 PHP 解析,被識別為 T_DOC_COMMENT。
    *

      若果 variables_order 內含「S」,$_SERVER 應該帶有 argc 和 argv 被產生。若果會員特別配製系統不建立 $_SERVER,那此變量當然就不存在了。改變的地方是不管 variables_order 怎麼設定,在 CLI 版本中 argc 和 argv 總是可用的。本來 CLI 版不是總會產生全局變量 $argc 和 $argv 的。
    *

      沒有屬性的對象不再被當成「empty」。
    *

      有些情況下類必須在使用前被定義。這僅在使用了一些 PHP 5 的新特性的時候發生。其它情況下行為都沒變。
    *

      get_class(),get_parent_class() 和 get_class_methods() 如今返回的類/方法名和定義時的名字一致(區分大小寫),對於依賴以前行為(類/方法名總是返回小寫的)的老腳本可能產生問題。一個可能的解決方法是在腳本中搜尋所有這些函數並使用 strtolower()。

      區分大小寫的改變也適用於魔術常量 __CLASS__,__METHOD__ 和 __FUNCTION__。其值都會嚴格按照定義時的名字返回(區分大小寫)。
    *

      ip2long() 在傳遞入一個非法 IP 作為參數時返回 FALSE,不再是 -1。
    *

      若果在包括檔案中定義有函數,則不管在 return() 之前還是之後都可以在主檔案中呼叫。若果檔案被包括兩次,PHP 5 會發出致命錯誤,因為函數已經被定義,而 PHP 4 不管這個。因此推薦使用 include_once() 而不要去檢查檔案是否已被包括以及在包括檔案中有條件返回。
    *

      include_once() 和 require_once() 在 Windows 下先將路徑規格化,因此包括 A.php 和 a.php 只會把檔案包括一次。

例子 B-1. strrpos() 和 strripos() 如今用整個字串作為 needle
<?php
var_dump(strrpos('ABCDEF','DEF')); //int(3)

var_dump(strrpos('ABCDEF','DAF')); //bool(false)
?>

例子 B-2. 沒有屬性的對象不再被當成「empty」
<?php
class test { }
$t = new test();

var_dump(empty($t)); // echo bool(false)

if ($t) {
    // Will be executed
}
?>

例子 B-3. 有些情況下類必須在使用之前定義
<?php

//works with no errors:
$a = new a();
class a {
}

//throws an error:
$a = new b();

interface c{
}
class b implements c {
}

?>

PHP【函式簡介】Require及Require_once( )
    require 的使用方法如 require("header.inc"); 。
這個語法通常放在 PHP 程式的最前面,PHP 程式在執行前,就會先讀入 require 所指定引入的檔案,使它變成 PHP 程式網頁的一部份。
常用的函式可以寫成一個函式庫檔案,然後用這個方法將它引入網頁中。

require_once 的作用和 require 是幾乎相同的,唯一的差別在於 require_once 會先檢查要引入的檔案是不是已經在該程式中的其他地方被引入過了。
如果有的話,就不會再次重複引入該檔案。
這項功能有時候是很重要的,比方說要引入的檔案裡面宣告了一些我們自行定義的函數,那麼如果在同一個程式重複引入這個檔案,在第二次引入的時候便會發生錯誤訊息,因為 PHP 不允許相同名稱的函數被重複宣告。

用單引號代替雙引號來包括字串 ,這樣做會更快一些。

因為PHP會在雙引號包圍的字串中搜尋變量,單引號則不會,注意:只有echo能這麼做,它是一種可以把多個字串當作參數的「函 數」(譯註:PHP手冊中說echo是語系結構,不是真正的函數,故把函數加上了雙引號)。

1、如果能將類的方法定義成static,就盡量定義成static ,它的速度會提升將近4倍。

2、$row[』id』] 的速度是$row[id]的7倍。

3、echo 比 print 快 ,並且使用echo的多重參數(譯註:指用逗號而不是句點)代替字串連線,比如echo $str1,$str2。

4、最好使用Foreach執行迴圈 ,在執行for迴圈之前確定最大迴圈數,不要每迴圈一次都計算最大值。

5、註銷那些不用的變量尤其是大陣列 ,以便釋放記憶體。

6、盡量避免使用__get,__set,__autoload 。對於__開頭的函數就命名為魔術函數,此類函數都在特定的條件下廚房的。總得來說,有下面幾個魔術函數

__construct(),__destruct(),__get(),__set(),__unset(),__call(),__callStatic(),__sleep(),__wakeup(),__toString(),__set_state(),__clone(),__autoload()

7、require_once()代價昂貴 。

8、include檔案時盡量使用絕對路徑 ,因為它避免了PHP去include_path裡尋找檔案的速度,解析操作系統路徑所需的時間會更少。

9、如果你想知道腳本開始執行(譯註:即伺服器端收到用戶端請求)的時刻,使用$_SERVER[『REQUEST_TIME』]要好於 time()。

10、函數代替正則表達式完成相同功能 。

11、str_replace函數比preg_replace函數 快,但strtr函數的效率是str_replace函數的四倍。

12、如果一個字串置換函數,可接受陣列或字元作為參數,並且參數長度不太長,那麼可以考慮額外寫一段置換代碼,使得每次傳遞參數是一個字元,而 不是只寫一行代碼接受陣列作為查詢和置換的參數。

13、使用選取分支語句代替條件語句 ,選取分支語句(即switch case)好於使用多個if,else if語句。

14、不用@ ,用@屏蔽錯誤訊息的做法非常低效,極其低效。

15、開啟apache的mod_deflate模組,可以提高網頁 的瀏覽速度 。

16、資料庫連線當使用完畢時應關掉,不要用長連線 。

17、錯誤訊息代價昂貴 。

18、在方法中遞增局部變量,速度是最快的 。幾乎與在函數中呼叫局部變量的速度相當。

19、遞增一個全局變量要比遞增一個局部變量慢2倍 。

20、遞增一個對像屬性(如:$this->prop++)要比遞增一個局部變量慢3倍。

21、遞增一個未預定義的局部變量要比遞增一個預定義的局部變量慢9至10倍。

22、僅定義一個局部變量而沒在函數中呼叫它,同樣會減慢速度(其程度相當於遞增一個局部變量)。PHP大概會檢檢視是否存在全局變量。

23、方法呼叫看來與類中定義的方法的數量無關,因為我(在測試方法之前和之後都)加入了10個方法,但效能上沒有變化。

24、派生類中的方法運行起來要快於在基類中定義的同樣的方法。

25、呼叫帶有一個參數的空函數,其花費的時間相當於執行7至8次的局部變量遞增操作。類似的方法呼叫所花費的時間接近於15次的局部變量遞增操 作。

26、Apache解析一個PHP腳本的時間要比解析一個靜態HTML頁面慢2至10倍。盡量多用靜態HTML頁面,少用腳本。

27、除非腳本可以快取,否則每次呼叫時都會重新編譯一次。引入一套PHP快取機制通常可以提升25%至100%的效能,以免除編譯開銷。

28、盡量做快取,可使用memcached。memcached是一款高效能的記憶體對像快取系統,可用來加速動態Web應用程式,減輕資料庫負 載。對操作碼 (OP code)的快取很有用,使得腳本不必為每個請求做重新編譯。

29、當操作字串並需要檢驗其長度是否滿足某種要求時,你想當然地會使用strlen()函數。此函數執行起來相當快,因為它不做任何計算,只返 回在zval 結構(C的內建資料結構,用於存儲PHP變量)中存儲的已知字串長度。但是,由於strlen()是函數,多多少少會有些慢,因為函數呼叫會經由諸多步 驟,如字母小寫化(譯註:指函數名小寫化,PHP不區分函數名大小寫)、哈希尋找,會跟隨被呼叫的函數一起執行。在某些情況下,你可以使用isset() 技巧加速執行你的代碼。

(舉例如下)

if (strlen($foo) < 5) { echo 「Foo is too short」$$ }
(與下面的技巧做比較)
if (!isset($foo{5})) { echo 「Foo is too short」$$ }

呼叫isset()恰巧比strlen()快,因為與後者不同的是,isset()作為一種語系結構,意味著它的執行不需要函數尋找和字母小寫化。 也就是說,實際上在檢驗字串長度的頂層代碼中你沒有花太多開銷。

34、當執行變量$i的遞增或遞減時,$i++會比++$i慢一些。這種差異是PHP特有的,並不適用於其他語系,所以請不要修改你的C或Java 代碼並指望它們能立即變快,沒用的。++$i更快是因為它只需要3條指令(opcodes),$i++則需要4條指令。後置遞增實際上會產生一個臨時變 量,這個臨時變量隨後被遞增。而前置遞增直接在原值上遞增。這是最改善處理的一種,正如Zend的PHP改善器所作的那樣。牢記這個改善處理不失為一個好 主意,因為並不是所有的指令改善器都會做同樣的改善處理,並且存在大量沒有裝配指令改善器的際網路服務提供商(ISPs)和伺服器。

35、並不是事必面向對像(OOP),面向對像往往開銷很大,每個方法和對像呼叫都會消耗很多記憶體。

36、並非要用類實現所有的資料結構,陣列也很有用。

37、不要把方法細分得過多,仔細想想你真正打算重用的是哪些代碼?

38、當你需要時,你總能把代碼分解成方法。

39、盡量採用大量的PHP內建函

PHP程式設計員入門必讀:

1.概要:學習任何語系都需要多看、多想、多寫、多問!
寫寫程式是一種熟能生巧的東西!
學習PHP也一樣,因為知識就那麼多,你看多了就會覺得怎麼都一樣。

程式員就是炒冷飯的,一遍又一遍。
代碼多敲幾遍就可以閉著眼睛寫了,所以企業招聘都會問你寫過多少行代碼的!
程式員最忌諱浮躁,有時候發現一段程式完全找不出錯誤,僅僅是因為少了或多了一個符號,程式員需要的是細心,粗心的人當不了程式員!

2.php參考手冊是必須熟知的,有的新手會問一些很基礎的問題,其實手冊上面都有,所以建議新手先把手冊看了,最好把常用函數抄幾遍!
再敲幾遍手冊裡的代碼。

當你把手冊裡的東西都熟悉了,你遇到問題的可能性就很小了。
當然mysql手冊,也要看一下,但可以不先看的那麼細!至少要知道常用的sql語句,這是必須的!

3.覺得php最好的東西就是,網上能找的開源項目很多,而且一些都是大項目的。
所以建議php程式新手可以看留言板代碼,先熟悉常用的資料操作,然後可以去看一下簡單的企業網站或是部落格,然後可以去研究一下ecshop之類,當你看懂這些 ,你可以去看看discuz,phpwind論壇源程式碼,帝國,PHP168等開源CMS系統,裡面的架構都是相當強悍的,當然這不是新手需要去做的,但是總要有個做將軍的理想!

4.要習慣,遇到問題自己先解決,在網路時代,要學會用百度,這是必須的。
當你實在沒法解決的時候再去尋求別人的說明!

5.當你寫完一個程式的時候,要學會分享出去,因為你是新手,你的程式也許會有很多不完善的地方,所以分享你寫的程式對你更有益!
多分享多交流!才會讓你寫的程式更精!

6.記住,學了php你要不只是學會php,你要學會分析一個項目的實現模式或是一個程式的實現模式。
都說算法是語系的基礎,要學好php,你還得去學習和運用算法去實現你的程式,學會用算法可以用於任何語系,學會用php你只能用php.

問題:
請問為什麼我向另一網頁傳送變數時,只得到前半部分,以空格開頭的則全部丟失?

<?php
$Var=”hello php”;//修改為$Var=”   hello php”;試試得到什麼結果
$post= “receive.php?Name=”.$Var;
header(“location:$post”);
?>

receive.php的內容:

<?PHP
Echo “<pre>”;
Echo  $_GET[“Name”];
Echo “</pre>”;
?>

回覆:
正確的方法是:

<?php
$Var=”hello php”;
$post= “receive.php?Name=”.urlencode($Var);
header(“location:$post”);
?>

在接收頁面你不需要使用Urldecode(),變數會自動編碼.

PHP程式設計問題諮詢:
請問,如何從資料庫讀取三天內的所有記錄?

———————————————————
PHP程式設計問題回覆:
您要如何從資料庫讀取三天內的所有記錄,可以參考以下的說明:

———————————————————
首先表格裏要有一個DATETIME欄位記錄時間,
格式為'2012-6-12 16:50:00'

SELECT * FROM `xltxlm` WHERE TO_DAYS(NOW()) – TO_DAYS(`date`) <= 3;

———————————————————