1. PHP 開発環境のセットアップ:
1. Linux でビルドします
linux apache mysql php
2. 窓の下に構築します
apache php mysql phpmyadmin
ポートの表示: cmd-->netstat -an
インストール方法:
1. キットの取り付け:
一般的に使用されるパッケージ: appserv、wmap、phpStudy
Apache HTTP サーバー:Apache Web サーバー
MySQL データベース:MySQL データベース
PHP ハイパーテキスト プリプロセッサ:PHP コア
phpMyAdmin: MySQL データベースを管理するためのグラフィカル ツール -->次へ
?
サーバー名:localhost
管理者の電子メール アドレス:53032104@qq.com-->管理者の電子メール
Apache HTTP ポート:8000-->ポート番号-->次へ
?
MySQL サーバーの root パスワードを入力してください --> root ユーザーのパスワード
root パスワードを入力してください:root
root パスワードを再入力します:root
MySQL サーバー設定
文字セットと照合順序:UTF-8 Unicode --> データベースのエンコードを指定します。UTF-8 を推奨します
?
2. カスタムインストール:
1.apache
テスト: http://localhost
2.phpコアパッケージ:(php公式サイト:http://www.php.net)を解凍します
Windows で Apache PHP を使用し、VC6 バージョンを選択します
Windows で IIS PHP を使用し、VS9 バージョンを選択します
?
Apache と PHP の統合:
1. D:phpStudyApache2confhttpd.conf ファイルの 130 行目あたりを追加します。
php インストール ディレクトリ内の LoadModule php5_module "D:/phpStudy/PHP5/php5apache2_4.dll" #php5apache2-4.dll
PHPIniDir "D:/phpStudy/PHP5/" #php インストールディレクトリ
AddType application/x-httpd-php .php .phtml #ファイルが .php または .phtml の場合、php によって処理されることを指定します
?
2. php インストール ディレクトリで、php.ini-development ファイルの名前を php.ini
に変更します。3. php.ini で extension_dir = "./" を検索し、この行を開き、php インストール ディレクトリ内の ext ファイルのパスを指定します
拡張ディレクトリ = "D:/phpStudy/PHP5/ext"
?
テスト:
Apache インストール ディレクトリの htdocs ディレクトリに新しい test.php ファイルを作成します。コードは次のとおりです。
phpinfo();
?>
Apache を再起動します: http://localhost/test.php
?
3.MySQL データベース: (MySQL 公式 Web サイト: http://www.mysql.com)
テスト:
1. 成功したかどうかをテストするための php コードを作成します
$conn = mysql_connect("localhost","root","root");
if($conn){
echo "mysql データベースに接続します!";
}その他{
echo "mysql データベースに接続できません!";
}
?>
2. phpmyadmin をインストールして、利用可能かどうかをテストします (mysql を管理します)
インストール方法: htdocs フォルダーに解凍し、そのディレクトリーにindex.php ファイルを入力します
メソッドを入力してください: http://localhost:8000/phpMyAdmin/index.php
?
2.http://www.comsenz.com
1. ディスカス フォーラムのコードをダウンロードします
2. htdocs フォルダーに解凍します
3. config.inc.php:
ファイルを変更します。$dbhost = 'localhost' // データベースサーバー
;$dbuser = 'root';//データベースユーザー名
$dbpw = 'root';//データベースパスワード
$dbname = 'discuz' // データベース名
$pconnect = 0; // データベースの永続的接続 0=クローズ、1=オープン
?
$database = 'mysql'; // フォーラム データベースのタイプは変更しないでください
$dbcharset = 'utf8';//MySQL 文字セット、オプションの 'gbk'、'big5'、'utf8'、'latin1'、フォーラムの文字セット設定に従う場合は空白のままにしておきます
?
$charset = 'utf-8'; // フォーラム ページのデフォルトの文字セット、オプションの 'gbk'、'big5'、'utf-8'
$headercharset = 0;//フォーラム ページにデフォルトの文字セットを強制的に使用すると、一部のサーバー スペース ページでの文字化けを回避できるため、通常はオンにする必要はありません。 0=オフ 1=オン
?
$forumfounders = 'admin'; // フォーラム創設者 UID は、「,」で区切って複数の創設者をサポートできます。
注: php.ini: short_open_tag = on を設定する必要があります
4. discus の下の install.php ファイルにアクセスしてデータベースをインストールします
インストールが完了したら:
UCenter のアクセス URL: http://localhost/upload/ucenter
UCenter 創設者のパスワード: admin
DISCUZ! のアクセス URL: http://localhost/upload/bbs
管理者アクセス URL: http://localhost/upload/bbs/admincp.php
管理者アカウント: admin 管理者パスワード: admin
UCenter Home のアクセス URL: http://localhost/upload/home
管理者アクセス URL: http://localhost/upload/home/admincp.php
管理者アカウント: admin 管理者パスワード: admin
?
?
Apache サーバーでの Web サイトの構成:
1. Apache サーバーに Web サイトを作成する必要がある場合は、httpd-vhosts.conf ファイルを有効にして、
注: DNS クライアント サービスが開始されていることを確認してください
2. 構成されたホストに外部からアクセスする場合は、DNS サーバーまたは Windows システムに登録する必要があります
?
考えていること:
1. ポートを通じて異なる仮想ホストを区別します
1: サイトのバインド方法に従って準備します
1. ウェブサイト D:/myblog を開発します
2. httpd.conf ファイルを設定しますか?
httpd-vhosts.conf を有効にする
コメント DocumentRoot "D:/apache/htdocs"
3. conf/extra/http-vhosts.conf ファイルを見つけます
テンプレート:
ドキュメントルート「D:/myblog」
ディレクトリインデックスindex.phpindex.html
オプション FollowSymLinks
AllowOverride なし
注文の許可、拒否
すべてから許可
ディレクトリ>
4. IP とドメイン名のオブジェクト関係を hosts ファイルに追加します
パス: C:WindowsSystem32driversetchosts
追加:127.0.0.1www.moluo.com
5. テスト: http://www.moluo.com:80
にアクセスします。?
2. IP にバインドする新しいドメイン名を追加します
1. 新しいウェブサイトを開発する
2. httpd-vhosts.conf を構成し、新しい仮想ホストを追加します
ドキュメントルート「D:/myblog2」
ディレクトリインデックスindex.phpindex.html
オプション FollowSymLinks
AllowOverride なし
注文の許可、拒否
すべてから許可
ディレクトリ>
3. httpd.conf ファイルで Apache がポート 82 をリッスンできるようにします
82 を聞いてください
4. IP とドメイン名のオブジェクト関係を hosts ファイルに追加します
パス: C:WindowsSystem32driversetchosts
追加:127.0.0.1www.fengpeng.com
5. テスト: http://www.fengpeng.com:82
にアクセスします。?
2. ServerName によって異なる仮想ホストを区別します
1. ウェブサイト D:/myblog を開発します
2. httpd-vhosts.conf ファイルに構成を追加します
ドキュメントルート「D:/myblog」
サーバー名 www.moluo.com
ディレクトリインデックスindex.phpindex.html
オプション FollowSymLinks
AllowOverride なし
注文の許可、拒否
すべてから許可
ディレクトリ>
ドキュメントルート「D:/myblog2」
サーバー名 www.fengpeng.com
ディレクトリインデックスindex.phpindex.html
オプション FollowSymLinks
AllowOverride なし
注文の許可、拒否
すべてから許可
ディレクトリ>
3. IP とドメイン名のオブジェクト関係を hosts ファイルに追加します
パス: C:WindowsSystem32driversetchosts
追加:127.0.0.1www.moluo.com
4. テスト: http://www.moluo.com にアクセスしてください
http://www.fengpeng.com にアクセスしてください
?
Web サイトの意味: php/html/js/css などの複数の Web リソースの集合
php の基本構文の紹介:
変数を表示するだけの場合:=Variable?>
php コードのコメント:
//単一行コメント?
/*複数行コメント*/
引用符の違い:
一重引用符: データをそのまま出力します
二重引用符: データの特殊文字、変数などを解析します!
定数の定義:
注: 1. 名前付け: 大文字、下線
2. $
から始める必要はありません。3. 一度割り当てられたものは変更できません
1.define("TAX_RATE","0.02")
2.const TAX_RATE = 0.02;
ピラミッドの例:
$n=10;
for($x=1;$x<=$n;$x ){
for($z=1;$z<=$n-$x;$z ){
エコー " ";
}
for($y=1;$y<=($x-1)*2 1;$y ){
if($x==1||$x==$n){
エコー '*';
}その他{
if($y==1||$y==($x-1)*2 1){
エコー '*';
}その他{
エコー " ";
}
}
}
エコー '
';
}
?>
?
関数の紹介: (一般的に使用される: require_once())
基本形式:
関数メソッド($a,$b){
エコー $a $b;
}
?>
?
a.php ページは b.php で定義された関数を呼び出します。次のコマンドを使用できます
require ?require_once ?include ?include_once
例:
1.「b.php」が必要;
2.require ('b.php');
3.$filename='b.php';
?$filename が必要です;
?>
require と require_once の違い:
前者はファイルが見つかったときにそのファイルを組み込み、後者はそのファイルが組み込まれているかどうかを判断し、組み込まれている場合はそのファイルは組み込まれないため、リソースが節約され、定義エラーの繰り返しが回避されます。
include と include_once の違い:
前者はファイルが見つかったときにそのファイルを組み込み、後者はそのファイルが組み込まれているかどうかを判断し、組み込まれている場合はそのファイルは組み込まれないため、リソースが節約され、定義エラーの繰り返しが回避されます。
require と include の違い:
前者はエラーを起こしてプログラムの実行を終了し、後者はエラーを起こしてプログラムの実行を続行します。
?
ビット演算:
1. バイナリの最上位ビットは符号ビットです。0 は正の数を表し、1 は負の数を表します。
2. 正の数のソースコード、逆コード、補数コードはすべて同じです3. 負の数の補数コード = 元のコードの符号ビットは変更されず、他のビットは反転されます
4. 負の数の補数 = その補数 1
5.0 の補数は 0 です
6.php には符号なしの数値はなく、php 内の数値はすべて符号付きです
7. コンピュータが計算を実行するときは、常に 2 の補数の形式で計算を実行します
?
配列:
配列の作成:
1.$arr[0] = 10;
2.$arr = array(1,"hello",true,3.14);
for($i=0;$i エコー $arr[$i]; } 3.$arr = array("logo"=>"北京","name"=>"sp",5=>520); 値のメソッド: $arr['logo'],$arr["name"],$arr[5] 1.foreach($arr as $val){ echo $val; } 2.foreach($arr as $key=>$val){ echo $key.'='.$val.' } 注: 配列を作成し、要素の添字を指定しない場合、PHP は現在の最大の添字値 (整数) に 1 を加えた値を要素の添字 (キーワード) として自動的に使用します 同じ添え字を持つ要素に値を割り当てると、元の値は上書きされます 配列要素にアクセスするときは、配列が範囲外であることに注意してください PHP 配列は動的に拡張できます 出力配列の状況: print_r($arr) または var_dump($arr); 配列の一般的な関数: 1.count():count($arr);-->統計的な配列の長さ 2.is_array():is_array($arr);--> 変数が配列かどうかを判断します 3.print_r() と var_dump(): 配列情報を表示します 4.explode(" ",$str);--> 文字列を配列に分割します 例: $str = "北京、上海、広州、深圳、香港、マカオ"; $arr =explode(" ",$str); 5.sort():-->配列のソート 6.unset():-->配列のキーと値のペアを削除します。配列のインデックスは再作成されません 7.round():round(3.14)-->3 ?round(1.1415926,2)-->3.14 通知レベルのプロンプトをオフにする方法: 方法 1. php.ini ファイルの error_reporting を変更します -->error_reporting = E_ALL & ~E_NOTICE 方法 2. 次のコードをページに追加します: error_reporting(E_ALL^E_NOTICE); 配列の並べ替え: 1. バブルソート
関数 bubbleSort($arr){ $temp=0; for($i=0;$i for($j=0;$j if($arr[$j]>$arr[$j 1]){ $temp=$arr[$j]; $arr[$j]=$arr[$j 1]; $arr[$j 1]=$temp; } } } print_r($arr); } ?> 2.並べ替えを選択
関数 selectSort($arr){ $temp=0; for($i=0;$i $minValue = $arr[$i]; $minIndex = $i; for($j=$i 1;$j if($minValue>$arr[$j]){ $minValue=$arr[$j]; $minIndex=$j; } } $temp=$arr[$i]; $arr[$i]=$arr[$minIndex]; $arr[$minIndex]=$temp; } print_r($arr); } ?> 3. 挿入ソート
関数 insertSort(&$arr){ for($i=1;$i $insertValue=$arr[$i]; $insertIndex=$i-1; while($insertIndex>=0&&$insertValue
$arr[$insertIndex 1]=$arr[$insertIndex]; $insertIndex--; } $arr[$insertIndex 1]=$insertValue; } print_r($arr); } ?> 4. クイックソート
関数 QuickSort($left,$right,&$arr){ $l=$left; $r=$right; $pivot=$arr[($left $right)/2]; $temp=0; while($l
while($arr[$l]
while($arr[$r]>$pivot) $r--; if($l>=$r) ブレーク; $temp=$arr[$l]; $arr[$l]=$arr[$r]; $arr[$r]=$temp; if($arr[$l]==$pivot) --$r; if($arr[$r]==$pivot) $l; } if($l==$r){ $l ; $r--; } if($left
if($right>$l) QuickSort($l,$right,$arr); } ?> 検索: 1. 順次検索 関数検索(&$arr,$findValue){ $flag=false; for($i=0;$i if($findValue == $arr[$i]){ echo "$findValue が見つかり、添え字は $i です。"; $flag=true; 休憩; } } if(!$flag){ エコー「見つかりません」; } } 2.二分探索 関数 binarySearch(&$arr,$findValue,$leftIndex,$rightIndex){ ソート($arr); if($leftIndex>$rightIndex){ エコー「見つかりません」; 戻る; } $middleIndex=round(($leftIndex $rightIndex)/2); if($findValue>$arr[$middleIndex]){ binarySearch($arr,$findValue,$middleIndex 1,$rightIndex); }else if($findValue
binarySearch($arr,$findValue,$leftIndex,$middleIndex-1); }その他{ echo "$findValue が見つかり、添え字は $middleIndex です。"; } } ? 多次元配列: 定義: $arr = array(array(),array()...);
';