PHPの準備と基礎

WBOY
WBOYオリジナル
2016-06-13 12:52:30844ブラウズ

PHP の構築と基本

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 の基本構文の紹介:

変数を表示するだけの場合:

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()...);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。