PHP+MySQL+Dreamweaver整合教學(PHPMaker運用設計網站教學):快速設計網站與網頁
總教頭特別企畫【專業整合課程】比傳統的學習的還要快速與實用!


感謝您造訪 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地。 你可進入教學詳細內容介紹頁面,詳細瞭解PHP程式設計+MySQL資料庫(PHPMaker運用設計網站教學)及相關技術維護影片教學(完整配套措施),馬上可以設計架站程式與PHP網頁,快速建立MySQL資料庫、自動生成PHP網頁。可對資料庫進行瀏覽、修改、查詢、加入和刪除(整合成我們需要的網站)。

要在網路上經營網站賺大錢,不能只會下載現有的程式來架站(自己設計才能完全符合專業的特殊需求),你不用死背PHP語法,更可以完全不用花錢用購買資料庫(PHPMySQL完全免費!)你可以透過技術學習,讓PHP程式網頁+網路資料庫+Dreamweaver整合教學→讓你快速成為:【動態網站程式設計專家→你能因此賺大錢】!

 PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學):

http://por.tw/php/new-E_learning/index.php


PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用教學)密訓基地  總教頭  敬上

瀏覽模式: 普通 | 列表

PHP下載CSS檔案中的圖片的代碼

您想要使用PHP程式語法下載CSS檔案中的圖片嗎?
我相信每個做web的程式員也都會有類似的需求與想法。

在PHP下載CSS檔案中的圖片過程中,必不可少的需要下載樣式檔案中的圖片。
碰到比較龐大的樣式檔案,其中可能會有上百個需要下載的圖片,那麼使用下面這段小代碼是最為合適的了。

--------------------------------------------------------------------
< ?php
/*
More & Original PHP Framwork
Copyright (c) 2007 - 2008 IsMole Inc.

Author: kimi
Documentation: 下載樣式檔案中的圖片,PHP下載CSS檔案中的圖片工具
*/

//note 設定PHP逾時時間
set_time_limit(0);

//note 取得樣式檔案內容
$styleFileContent = file_get_contents('images/style.css');

//note 符合出需要下載的URL位址
preg_match_all("/url((.*))/", $styleFileContent, $imagesURLArray);

//note 迴圈需要下載的位址,逐個下載
$imagesURLArray = array_unique($imagesURLArray[1]);
foreach($imagesURLArray as $imagesURL) {
file_put_contents(basename($imagesURL), file_get_contents($imagesURL));
}
-----------------------------------------------------

PHP程式設計問題諮詢:
為什麼我升級PHP後,原來的程式出現滿螢幕的 Notice: Undefined variable:


---------------------------------------------------------
PHP程式設計問題回覆:
 Notice: Undefined variable:
這是警告的意思,由於變數未定義引起的.
打開php.ini,找到最下面的error_reporting,修改為error_reporting = E_ALL & ~E_NOTICE

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

PHP程式設計問題諮詢:
要怎麼在函數裏取得函數外的變數值?


---------------------------------------------------------
PHP程式設計問題回覆:
要在函數裏取得函數外的變數值,請看以下的範例:


<?PHP
$a="PHP";
foo();
Function foo()
{
global $a;//刪除這裏看看是什麼結果
Echo "$a";
}
?>
entities(nl2br($str));
?>
---------------------------------------------------------

透視 MySQL資料庫之更新語句(Mssql資料庫教學)

透視 MySQL資料庫之更新語句(Mssql資料庫教學)

用於操作資料庫的SQL一般分為兩種,一種是查詢語句,也就是我們所說的SELECT語句,另外一種就是更新語句,也叫做資料操作語句。
言外之意,就是對資料進行修改。在標準的SQL中有3個語句,它們是INSERT、UPDATE以及DELETE。
在MySQL中又多了一個REPLACE語句,因此,本文以MySQL為背景來討論如何使有SQL中的更新語句。

一、INSERT和REPLACE

INSERT和REPLACE語句的功能都是向表中插入新的資料。這兩條語句的語法類似。它們的主要區別是如何處理重複的資料。

1. INSERT的一般用法

MySQL中的INSERT語句和標準的INSERT不太一樣,在標準的SQL語句中,一次插入一條記錄的INSERT語句只有一種形式。

INSERT INTO tablename(列名…) VALUES(列值);

而在MySQL中還有另外一種形式。

INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;

第一種方法將列名和列值分開了,在使用時,列名必須和列值的數一致。如下面的語句向users表中插入了一條記錄:

INSERT INTO users(id, name, age) VALUES(123, '王曉明', 25);

第二種方法容許列名和列值成對出現和使用,如下面的語句將產生中樣的效果。

INSERT INTO users SET id = 123, name = '王曉明', age = 25;

如果使用了SET模式,必須至少為一列賦值。如果某一個欄位使用了預設值(如預設或自增值),這兩種方法都可以省略這些欄位。
如id欄位上使用了自增值,上面兩條語句可以寫成如下形式:

INSERT INTO users (name, age) VALUES('王曉明',25);

INSERT INTO uses SET name = '王曉明', age = 25;

MySQL在VALUES上也做了些變化。如果VALUES中什麼都不寫,那MySQL將使用表中每一列的預設值來插入新記錄。

INSERT INTO users () VALUES();

如果表名後什麼都不寫,就表示向表中所有的欄位賦值。使用這種模式,不僅在VALUES中的值要和列數一致,而且順序不能顛倒。
INSERT INTO users VALUES(123, '王曉明', 25);

如果將INSERT語句寫成如下形式MySQL將會報錯。

INSERT INTO users VALUES('王曉明',25);
------------------------------------------------------------------------
2. 使用INSERT插入多條記錄

看到這個標題也許大家會問,這有什麼好說的,呼叫多次INSERT語句不就可以插入多條記錄了嗎!
但使用這種方法要增加伺服器的負荷,因為,執行每一次SQL伺服器都要同樣對SQL進行分析、改善等操作。
幸好MySQL提供了另一種解決專案,就是使用一條INSERT語句來插入多條記錄。
這並不是標準的SQL語法,因此只能在MySQL中使用。

INSERT INTO users(name, age)

VALUES('王曉明', 25), ('比爾.蓋茨', 50), ('火星人', 600);

上面的INSERT 語句向users表中連續插入了3條記錄。
值得注意的是,上面的INSERT語句中的VALUES後必須每一條記錄的值放到一對(…)中,中間使用","分割。
假設有一個表table1

CREATE TABLE table1(n INT);

如果要向table1中插入5條記錄,下面寫法是錯誤的:

INSERT INTO table1 (i) VALUES(1,2,3,4,5);

MySQL將會拋出下面的錯誤

ERROR 1136: Column count doesn't match value count at row 1

而正確的寫法應該是這樣:

INSERT INTO t able1(i) VALUES(1),(2),(3),(4),(5);

當然,這種寫法也可以省略列名,這樣每一對括號裡的值的數目必須一致,而且這個數目必須和列數一致。如:

INSERT INTO t able1 VALUES(1),(2),(3),(4),(5);
------------------------------------------------------------------------
3. REPLACE語句

我們在使用資料庫時可能會經常遇到這種情況。如果一個表在一個欄位上建立了唯一索引,當我們再向這個表中使用已經存在的鍵值插入一條記錄,那將會拋出一個主鍵衝突的錯誤。
當然,我們可能想用新記錄的值來覆蓋原來的記錄值。如果使用傳統的做法,必須先使用DELETE語句刪除原先的記錄,然後再使用INSERT插入新的記錄。而在MySQL中為我們提供了一種新的解決專案,這就是REPLACE語句。
使用REPLACE插入一條記錄時,如果不重複,REPLACE就和INSERT的功能一樣,如果有重複記錄,REPLACE就使用新記錄的值來取代原來的記錄值。

使用REPLACE的最大好處就是可以將DELETE和INSERT合二為一,形成一個原子操作。
這樣就可以不必考慮在同時使用DELETE和INSERT時加入事務等複雜操作了。

在使用REPLACE時,表中必須有唯一索引,而且這個索引所在的欄位不能容許空值,否則REPLACE就和INSERT完全一樣的。

在執行REPLACE後,系統返回了所影響的行數,如果返回1,說明在表中並沒有重複的記錄,如果返回2,說明有一條重複記錄,系統自動先呼叫了DELETE刪除這條記錄,然後再記錄用INSERT來插入這條記錄。
如果返回的值大於2,那說明有多個唯一索引,有多條記錄被刪除和插入。

REPLACE的語法和INSERT非常的相似,如下面的REPLACE語句是插入或更新一條記錄。

REPLACE INTO users (id,name,age) VALUES(123, '趙樹海', 50);

插入多條記錄:

REPLACE INTO users(id, name, age)

VALUES(123, '趙樹海', 50), (134,'Mary',15);

REPLACE也可以使用SET語句

REPLACE INTO users SET id = 123, name = '趙樹海', age = 50;

上面曾提到REPLACE可能影響3條以上的記錄,這是因為在表中有超過一個的唯一索引。在這種情況下,REPLACE將考慮每一個唯一索引,並對每一個索引對應的重複記錄都刪除,然後插入這條新記錄。假設有一個table1表,有3個欄位a, b, c。它們都有一個唯一索引。

CREATE TABLE table1(a INT NOT NULL UNIQUE,b INT NOT NULL UNIQUE,c INT NOT NULL UNIQUE);

假設table1中已經有了3條記錄

a b c

1 1 1

2 2 2

3 3 3

下面我們使用REPLACE語句向table1中插入一條記錄。

REPLACE INTO table1(a, b, c) VALUES(1,2,3);

返回的結果如下

Query OK, 4 rows affected (0.00 sec)

在table1中的記錄如下

a b c

1 2 3

我們可以看到,REPLACE將原先的3條記錄都刪除了,然後將(1, 2, 3)插入。
------------------------------------------------------------------------
二、UPDATE

UPDATE的功能是更新表中的資料。這的語法和INSERT的第二種用法相似。必須提供表名以及SET表達式,在後面可以加WHERE以限制更新的記錄範圍。

UPDATE table_anem SET column_name1 = value1, column_name2 = value2, ...

WHERE ... ;

如下面的語句將users表中id等於123的記錄的age改為24

UPDATE users SET age = 24 WHERE id = 123;

同樣,可以使用UPDATE更新多個欄位的值 UPDATE users SET age = 24, name = 'Mike' WHERE id = 123;

上面的UPDATE語句通過WHERE指定一個條件,否則,UPDATE將更新表中的所有記錄的值。

在使用UPDATE更新記錄時,如果被更新的欄位的類型和所賦的值不符合時,MySQL將這個值轉換為相應類型的值。如果這個欄位是數值類型,而且所賦值超過了這個資料類型的最大範圍,那麼MySQL就將這個值轉換為這個範圍最大或最小值。如果字串太長,MySQL就將多餘的字串截去。如果設定非空欄位為空,那麼將這個欄位設定為它們的預設值,數字的預設值是0,字串的預設值是空串(不是null,是"")。

有兩種情況UPDATE不會對影響表中的資料。

1. 當WHERE中的條件在表中沒有記錄和它符合時。

2. 當我們將同樣的值賦給某個欄位時,如將欄位abc賦為'123',而abc的原值就是'123'。

和INSERT、REPLACE一樣,UPDATE也返回所更新的記錄數。但這些記錄數並不內含滿足WHERE條件的,但卻未被更新的記錄。如下同的UPDATE語句就未更新任何記錄。

UPDATE users SET age = 30 WHERE id = 12;

Query OK, 0 rows affected (0.00 sec)

需要注意的時,如果一個欄位的類型是TIMESTAMP,那麼這個欄位在其它欄位更新時自動更新。

在有些時候我們需要得到UPDATE所選取的行數,而不是被更新的行數。我們可以通過一些API來達到這個目的。如MySQL提供的C API提供了一個選項可以得到你想要的記錄數。而MySQL的JDBC驅動得到的預設記錄數也是符合的記錄數。

UPDATE和REPLACE基本類似,但是它們之間有兩點不同。

1. UPDATE在沒有符合記錄時什麼都不做,而REPLACE在有重複記錄時更新,在沒有重複記錄時插入。

2. UPDATE可以選取性地更新記錄的一部分欄位。而REPLACE在發現有重複記錄時就將這條記錄徹底刪除,再插入新的記錄。也就是說,將所有的欄位都更新了。
------------------------------------------------------------------------
三、DELETE和TRUNCATE TABLE

在MySQL中有兩種方法可以刪除資料,一種是DELETE語句,另一種是TRUNCATE TABLE語句。DELETE語句可以通過WHERE對要刪除的記錄進行選取。而使用TRUNCATE TABLE將刪除表中的所有記錄。因此,DELETE語句更靈活。

如果要清理表中的所有記錄,可以使用下面的兩種方法:

DELETE FROM table1

TRUNCATE TABLE table1

其中第二條記錄中的TABLE是可選的。

如果要刪除表中的部分記錄,只能使用DELETE語句。

DELETE FROM table1 WHERE ...;

如果DELETE不加WHERE子句,那麼它和TRUNCATE TABLE是一樣的,但它們有一點不同,那就是DELETE可以返回被刪除的記錄數,而TRUNCATE TABLE返回的是0。

如果一個表中有自增欄位,使用TRUNCATE TABLE和沒有WHERE子句的DELETE刪除所有記錄後,這個自增欄位將起始值恢復成1.如果你不想這樣做的話,可以在DELETE語句中加上永真的WHERE,如WHERE 1或WHERE true。

DELETE FROM table1 WHERE 1;

上面的語句在執行時將掃瞄每一條記錄。
但它並不比較,因為這個WHERE條件永遠為true。
這樣做雖然可以保持自增的最大值,但由於它是掃瞄了所有的記錄,因此,它的執行成本要比沒有WHERE子句的DELETE大得多。

DELETE和TRUNCATE TABLE的最大區別是DELETE可以通過WHERE語句選取要刪除的記錄。
但執行得速度不快。
而且還可以返回被刪除的記錄數。
而TRUNCATE TABLE無法刪除特殊的記錄,而且不能返回被刪除的記錄。
但它執行得非常快。

和標準的SQL語句不同,DELETE支援ORDER BY和LIMIT子句,通過這兩個子句,我們可以更好地控制要刪除的記錄。
如當我們只想刪除WHERE子句過濾出來的記錄的一部分,可以使用LIMIB,如果要刪除後幾條記錄,可以通過ORDER BY和LIMIT配合使用。
假設我們要刪除users表中name等於"Mike"的前6條記錄。可以使用如下的DELETE語句:

DELETE FROM users WHERE name = 'Mike' LIMIT 6;

一般MySQL並不確定刪除的這6條記錄是哪6條,為了更保險,我們可以使用ORDER BY對記錄進行排序。

DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;

如何避免使用php程式中的require_once語法?

如何避免使用php程式中的require_once語法?


我們知道,在php中使用require_once/include_once雖然方便,但是代價昂貴,據測試資料來看,require_once比require慢3-4倍,所以在php開發中,我們應該盡量使用require/include。

以下是筆者常用的避免require/include的方法。


使用__autoload

php5可以使用__autoload來避免require,用的好的話,代碼裡頭甚至看不到幾個require,實在是安逸啊。測試結果顯示,使用__autoload之後的new Foo; 比require_once 『foo.php』; new Foo; 大概要快3倍左右。

補充:為了避免autoload衝突,可以考慮使用spl_autoload_register(PHP 5 >= 5.1.2)來改變魔術函數__autoload的行為。

使用defined檢驗是否載入過

在代碼開頭使用defined檢驗是否定義過對應的常量,如果有的話,直接return。

<?php

if(!defined('_MYCLASS_'))

return;

define('_MYCLASS_', 1);

class MyClass { ... }

?>

測試了一下,defined的效能也不是太好…

require前檢查

用class_exists或是function_exists檢查一下,確認沒有載入過再出手,至少比require_once能快上3倍。php4也可以用上。

class_exists('myClass') or require('/path/to/myClass.class.php');

詳細學習PHP的日期時間函數date()

詳細學習PHP的日期時間函數date()

1.年--
echo date('Y-m-j');
2007-02-6

echo date('y-n-j');
07-2-6

大寫Y表示年四位元數字,而小寫y表示年的兩位元數字;
小寫m表示月份的數字(帶前導),而小寫n則表示不帶前導的月份數字。

echo date('Y-M-j');
2007-Feb-6

echo date('Y-m-d');
2007-02-06

大寫M表示月份的3個縮寫字元,而小寫m則表示月份的數字(帶前導0);
沒有大寫的J,只有小寫j表示月份的日期,無前導o;若需要月份帶前導則使用小寫d

echo date('Y-M-j');
2007-Feb-6

echo date('Y-F-jS');
2007-February-6th

大寫M表示月份的3個縮寫字元,而大寫F表示月份的英文全寫。(沒有小寫f)
大寫S表示日期的尾碼,比如“st”、“nd”、“rd”和“th”,具體看日期數字為何。

小結:
表示年可以用大寫的Y和小寫y;
表示月可以用大寫F、大寫M、小寫m和小寫n(分別表示字元和數位的兩種方式);
表示日可以用小寫d和小寫j,大寫S表示日期的尾碼。

2
.時::
預設情況下,PHP解釋顯示的時間為“格林威治標準時間”,與我們本地的時間相差8個小時。

echo date('g:i:s a');
5:56:57 am

echo date('h:i:s A');
05:56:57 AM

小寫g表示12小時制,無前導0,而小寫h則表示有前導012小時制。
當使用12小時制時需要表明上下午,小寫a表示小寫的“am”和“pm”,大寫A表示大寫的“AM”和“PM”。

echo date('G:i:s');
14:02:26

大寫G表示24小時制的小時數,但是不帶前導的;使用大寫的H表示帶前導的24小時制小時數

小結:
字母g表示小時不帶前導,字母h表示小時帶前導;
小寫gh表示12小時制,大寫GH表示24小時制。

3
.閏年、星期、天

echo date('L');
今年是否閏年:0

echo date('l');
今天是:Tuesday

echo date('D');
今天是:Tue

大寫L表示判斷今年是否閏年,布林值,為真返回1,否則為0
小寫l表示當天是星期幾的英文全寫(Tuesday)
而使用大寫D表示星期幾的3個字元縮寫(Tue)

echo date('w');
今天星期:2

echo date('W');
本周是全年中的第 06

小寫w表示星期幾,數位形式表示
大寫W表示一年中的星期數

echo date('t');
本月是 28

echo date('z');
今天是今年的第 36

小寫t表示當前月份又多少天
小寫z表示今天是本年中第幾天

4
.其他

echo date('T');
UTC
大寫T表示伺服器的時間區域設置

echo date('I');
0
大寫I表示判斷當前是否為夏令時,為真返回1,否則為0

echo date('U');
1170769424
大寫U表示從197011到現在的總秒數,就是Unix時間紀元的UNIX時間戳。

echo date('c');
2007-02-06T14:24:43+00:00
小寫c表示ISO8601日期,日期格式為YYYY-MM-DD,用字母T來間隔日期和時間,時間格式為HH:MM:SS,時區使用格林威治標準時間(GMT)的偏差來表示。

PHP程式設計問題諮詢:
我怎麼知道系統預設支援什麼函數?


---------------------------------------------------------
PHP程式設計問題回覆:
要怎麼知道系統預設支援什麼函數,請看以下的範例:


<?php
$arr = get_defined_functions();
Function php() {
}
echo  "<pre>";
Echo  "這裏顯示系統所支援的所有函數,和自定以函數php ";
print_r($arr);
echo  "</pre>";
?>

---------------------------------------------------------

[MySQL改善] -- 如何使用SQL Profiler 效能分析器

[MySQL改善] -- 如何使用SQL Profiler 效能分析器

mysql 的 sql 效能分析器主要用途是顯示 sql 執行的整個過程中各項資源的使用情況。分析器可以更好的展示出不良 SQL 的效能問題所在。
下面我們舉例介紹一下 MySQL SQL Profiler 的使用方法:

    * 首先,開啟 MySQL SQL Profiler


mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 0 |
+-------------+
1 row in set (0.00 sec)
mysql> SET profiling = 1;
Query OK, 0 rows affected (0.00 sec)
mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 1 |
+-------------+
1 row in set (0.00 sec)
預設情況下 profiling 的值為 0 表示 MySQL SQL Profiler 處於 OFF 狀態,開啟 SQL 效能分析器後 profiling 的值為 1.


    * 通過 sql 效能分析器,我們來對照一下 下列語句前後 2 次執行過程的差異,對我們瞭解 sql 的詳細執行過程是非常有說明的。


mysql> create table t_engines select * from t_engines1;
Query OK, 57344 rows affected (0.10 sec)
Records: 57344 Duplicates: 0 Warnings: 0
mysql> select count(*) from t_engines;
+----------+
| count(*) |
+----------+
| 57344 |
+----------+
1 row in set (0.00 sec)
mysql> select count(*) from t_engines;
+----------+
| count(*) |
+----------+
| 57344 |
+----------+
1 row in set (0.00 sec)
mysql> SHOW PROFILES;
+----------+------------+-------------------------------------------------+
| Query_ID | Duration | Query |
+----------+------------+-------------------------------------------------+
| 26 | 0.10213775 | create table t_engines select * from t_engines1 |
| 27 | 0.00032775 | select count(*) from t_engines |
| 28 | 0.00003850 | select count(*) from t_engines |
+----------+------------+-------------------------------------------------+
15 rows in set (0.01 sec)
mysql> SHOW PROFILE FOR QUERY 27;
+--------------------------------+------------+
| Status | Duration |
+--------------------------------+------------+
| (initialization) | 0.00000425 |
| checking query cache for query | 0.00004050 |
| checking permissions | 0.00001050 |
| Opening tables | 0.00018250 |
| System lock | 0.00000450 |
| Table lock | 0.00001775 |
| init | 0.00001075 |
| optimizing | 0.00000550 |
| executing | 0.00002775 |
| end | 0.00000450 |
| query end | 0.00000325 |
| storing result in query cache | 0.00000400 |
| freeing items | 0.00000400 |
| closing tables | 0.00000500 |
| logging slow query | 0.00000300 |
+--------------------------------+------------+
15 rows in set (0.00 sec)
mysql> SHOW PROFILE FOR QUERY 28;
+-------------------------------------+------------+
| Status | Duration |
+-------------------------------------+------------+
| (initialization) | 0.00000350 |
| checking query cache for query | 0.00000750 |
| checking privileges on cached query | 0.00000500 |
| checking permissions | 0.00000525 |
| sending cached result to client | 0.00001275 |
| logging slow query | 0.00000450 |
+-------------------------------------+------------+
6 rows in set (0.00 sec)
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =27 ORDER BY SEQ;
+----------+
| DURATION |
+----------+
| 0.000326 |
+----------+
1 row in set (0.00 sec)
mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =28 ORDER BY SEQ;
+----------+
| DURATION |
+----------+
| 0.000039 |
+----------+
1 row in set (0.00 sec)
mysql>
從上面的例子中我們可以清晰的看出 2 次執行 count 語句的差別, SHOW PROFILE FOR QUERY 27 展現的是第一次 count 統計的執行過程,包括了 Opening tables 、 Table lock 等操作 。而 SHOW PROFILE FOR QUERY 28 展示了第二次 count 統計的執行過程 , 第二次 count 直接從查詢快取中返回 count 統計結果,通過對照 2 次統計的總執行時間發現,快取讀的速度接近物理讀的 10 倍。通過使用 SQL 效能分析器可以說明我們對一些比較難以確定效能問題的 SQL 進行診斷,找出問題根源。
標籤: mysql
『將軍』你是武藝高強?膽識過人?精通騎射?您生錯時代啦!
『戰馬』你是汗血寶馬?善奔能越?躍馬中原?此戰場沒有你的舞台!
動態的架站程式時代,要自訂PHP程式頁面有那麼難嗎?
MySQL『資料庫』與『資料表』,用PHP程式有那麼難呼叫嗎?
不用死背『PHP程式』與『MySQL資料庫』語法也能設計嗎?
這是自動化軟體程式的年代(用PHPMaker設計在彈指之間完成)
這不是:神話!程式軟體模組取代了這一切複雜的工程
死背『PHP程式』與『MySQL資料庫』語法,是為學校考試用的!
因為,有些人的技術已經離這個網站的實用性非常遙遠!
------------------------------------------------------------
大家都知道網路創業的好處:
1.初期建置網站金額較低,甚至零成本。
2.初期人事、水電成本較低。
3.網路店面比較沒有曝光的地區限制(除非產品、物流、語言的限制)。
4.消費者可以在任何時間瀏覽與選購商品(24小時營業)。
5.初期可採用眾多的網路平台,免費宣傳、曝光方式,之後再採用付費的方式,提高效益。
6.即使沒有成功,成本損失也較低。


想要網路創業自動賺錢,你應該具備那些專業技能呢?

那座而言不如起而行,如何開始您的第一步行動呢?

1.先評估自己會什麼網路技能?不會那些網路技能?
將自己的優勢寫下來,也將自己需要進修的專業技能逐一記錄下來

2.找到您需要的課程(利用下班時間,努力精研)
最好是影片課程,不要只是一般書店的書籍或網路電子書
(因為圖片與文字根本學習效率不好,無法有效迅速學會,學習中有問題要問誰?)
實際網路經營時發生網站語法錯誤或網站被駭客入侵!
那您最好有個專業『會程式語言與架設主機』的老師可以免費技術諮詢
不然,一發生問題,您的網路事業就停擺了,網站一停就無收入!
(就好像上班放無薪假一樣....悽慘!)。
有甚至網站資料全毀,資料庫也出問題,你要在第一時間內就能快速修護!
這一點你可要小心!網路創業絕對要有:技術諮詢!
迅速回覆的專業老師(或專業技術顧問)。
不然,就像大海裡頭的孤鳥,叫天天不應,叫地地也不靈
(自己閉門造車摸索是網路創業者最悲慘的失敗原因!)。


attachments/201208/5398530876.jpg

2.你的網站要自己架設!
(請人設計網站費用貴,小則三四萬高者也有十幾萬元的,往後網站維護也不方便!)

這方面你可以學習:
1.網站架設與網頁設計教學
詳細介紹:
http://por.tw/Website_Design/E_learning/index.php
長期技術支援網站:
http://por.tw/Website_Design

2.購物網站架站教學
詳細介紹:
http://por.tw/sale/cmmerse-4-all/index.php
長期技術支援網站:
http://por.tw/sale

3.部落格架站、行銷、賺錢術教學
詳細介紹:
http://por.tw/blog/E_learning/index.php
長期技術支援網站:
http://por.tw/blog

4.PHP+MySQL+PHPMaker+Dreamweaver整合教學
(PHPMaker運用設計網站教學)

詳細介紹:
http://por.tw/php/new-E_learning/index.php
長期技術支援網站:
http://por.tw/php

5.Flash-動畫製作教學
詳細介紹:
http://por.tw/flash/new-E_learning/index.php
長期技術支援網站:
http://por.tw/flash
-------------------------------------------------------------------------
3.網站圖片非常重要,你如果不會拍照與修圖,那您就要學習:
商業商品攝影教學
詳細介紹:
http://por.tw/design/photographing_Course/index.php
長期技術支援網站:
http://por.tw/design
-------------------------------------------------------------------------
4.影片能讓您的網站更出色,如果您不會錄影
或影片剪接、編輯、上字幕、做特效,那您就要學習:

【錄影影片製作】技術教學
詳細介紹:
http://por.tw/photo-video/video_Course/index.php
長期技術支援網站:
http://por.tw/photo-video
-------------------------------------------------------------------------
5.有了網站,接下來就是『如何將網站經營的有聲有色?』
這就需要專業的網路行銷技術:
A.搜尋引擎排名SEO教學
詳細介紹:
http://por.tw/seo/new-seo/index.php
長期技術支援網站:
http://por.tw/seo

B.EDM電子報製作教學
詳細介紹:
http://por.tw/edm/edm_Marketing/index.php
長期技術支援網站:
http://por.tw/edm

C.電子書製作賺錢密技教學
詳細介紹:
http://por.tw/ebook/new-ebook/index.php
長期技術支援網站:
http://por.tw/ebook

D.【訂單王】超級網路秒殺成交法-A-page 【一頁定江山】行銷賺錢術
詳細介紹:
http://por.tw/page/new-E_learning/index.php
長期技術支援網站:
http://por.tw/page
-------------------------------------------------------------------------
6.如果您想要學習『專案方式』的專業技能,您可以學習:
A.「網路創業賺錢_如何從網路創業賺錢賺到第一個100萬!」課程
詳細介紹:
http://por.tw/soho/new-E_learning/index.php
長期技術支援網站:
http://por.tw/soho

B.藉助『程式』邁向網路自動賺錢術(Auto Rich -自富課程)
詳細介紹:
http://por.tw/Rich/new-E_learning/index.php
長期技術支援網站:
http://por.tw/Rich

C.【正印家族】授權營運專案‧自動印鈔機賺錢術
詳細介紹:
http://por.tw/money/new-E_learning/index.php
長期技術支援網站:
http://por.tw/money
-------------------------------------------------------------------------
7.您的網站可以用兩種方式經營
1.是租用虛擬主機
(創業初期,如果尚無長遠規劃可租虛擬主機空間架設網站)

2.是自己擁有獨立主機!
如果您有此長遠的規劃,那您可以申購此服務:
替你架設Linux主機伺服器+影片教你維護(還有遠端技術協助)讓你自己當家作主!
http://por.tw/linux/new-E_learning/index.php
長期技術支援網站:
http://por.tw/linux
-------------------------------------------------------------------------
8.此外,如果你對國外軟體感覺不好用,那您可以學習:
軟體中文化實戰教學影片
軟體中文化實戰教學影片教學詳細介紹:
http://por.tw/f2blog/new-E_learning/index.php
長期技術支援網站:
http://por.tw/f2blog

不論是英文、日文、大陸簡體或其他軟體,能透過軟體中文化技術變成:繁體中文版
那在網路事業的經營上,所有要用到的軟體,就能通通變成:繁體中文版啦!
那是業經營起來當然是:得心應手!手到擒來!

-------------------------------------------------------------------------

PHP程式網頁生成靜態頁面的方法

在PHP網站開發中為了網站推廣和SEO等需要,需要對網站進行全站或局部靜態化處理,PHP生成靜態HTML頁面有多種方法
例如:利用PHP範本、快取等實現頁面靜態化
今天就以PHP案例教學形式討論PHP生成靜態頁面的方法。
頁面靜態化的方法,分為兩種
一種是偽靜態,就是url 重寫
一種是你真的靜態化。

下面介紹PHP中頁面靜態化的方法。

什麼是PHP程式網頁靜態化?
PHP程式網頁靜態化的簡單理解就是使網站生成頁面以靜態HTML的形式展現在訪客面前
PHP靜態化分純靜態化和偽靜態化,兩者的區別在於PHP生成靜態頁面的處理機制不同。


PHP程式網頁生成靜態HTML頁面的方法:

1、利用PHP範本生成靜態頁面
PHP範本實現靜態化非常方便,比如安裝和使用PHP Smarty實現網站靜態化。

2、使用PHP檔案讀寫功能生成靜態頁面
PHP生成靜態頁面案例代碼
-----------------------------------------------------------------------------
    <?
    $out1 = "<html><head><title>PHP程式網頁靜態化教學</title></head>
    <body>歡迎訪問PHP網站開發教學網http://por.tw,本文主要介紹PHP網站頁面靜態化的方法
    </body></html>";
    $fp = fopen("leapsoulcn.html","w");
    if(!$fp)
    {
    echo "System Error";
    exit();
    }
    else {
    fwrite($fp,$out1);
    fclose($fp);
    echo "Success";
    }
    ?>
-----------------------------------------------------------------------
    3、使用PHP輸出控制函數(Output Control)生成靜態頁面

    輸出控制函數(Output Control)也就是使用和控制快取來生成靜態HTML頁面,也會使用到PHP檔案讀寫函數。

    PHP生成靜態頁面案例代碼

-----------------------------------------------------------------------
        <?
        ob_start();
        echo "<html>".
        "<head>".
        "<title>PHP網站靜態化教學</title>".
        "</head>".
        "<body>歡迎訪問PHP網站開發教學網http://por.tw,本文主要介紹PHP網站頁面靜態化的方法</body>".
        "</html>";
        $out1 = ob_get_contents();
        ob_end_clean();
        $fp = fopen("leapsoulcn.html","w");
        if(!$fp)
        {
        echo "System Error";
        exit();
        }
        else
        {
        fwrite($fp,$out1);
        fclose($fp);
        echo "Success";
        }
        ?>
---------------------------------------------------------------------
        我們知道使用PHP進行網站開發,一般執行結果直接輸出到遊覽器,為了使用PHP生成靜態頁面,就需要使用輸出控制函數控制快取區,以便取得快取區的內容,然後再輸出到靜態HTML頁面檔案中以實現網站靜態化。

        PHP生成靜態頁面的思路為:
        首先開啟快取,然後輸出了HTML內容(你也可以通過include將HTML內容以檔案形式包括進來),之後取得快取中的內容,清理快取後通過PHP檔案讀寫函數將快取內容寫入到靜態HTML頁面檔案中。

 獲得輸出的快取內容以生成靜態HTML頁面的過程需要使用三個函數:
ob_start()、ob_get_contents()、ob_end_clean()。

        PHP程式網頁生成靜態頁面知識:

        1、ob_start函數一般主要是用來開啟快取,注意使用ob_start之前不能有任何輸出,如空格、字元等。

        2、ob_get_contents函數主要用來取得快取中的內容以字串形式返回,注意此函數必須在ob_end_clean函數之前呼叫,否則取得不到快取內容。

        3、ob_end_clean函數主要是清理快取中的內容並關閉快取,完成則返回True,失敗則返回False


        PHP輸出控制函數(Output Control)有很多應用。

        至此,使用PHP生成靜態HTML頁面以實現網站靜態化的方法就介紹完了,根據實際情況和需求你可以選取不同的靜態化方法。

本PHP程式設計+MySQL資料庫+Dreamweaver整合教學(PHPMaker運用設計網站教學)密訓基地立志於收集各類PHP程式設計、MySQL資料庫及網頁設計技術教學資訊,便於本人和廣大網友及網友查詢檢索,無論公司或個人認為本站存在侵權內容均可與本站聯繫,任何此類反饋資訊一經查明屬實後,將立即移除!