ホームページ >バックエンド開発 >PHPチュートリアル >ActivePHP を使用してバージョン管理システムを構築する_PHP チュートリアル
PHP を学ぶとき、私たちは常に、PHP はサーバーサイドのスクリプトであり、クライアントの制御には使用できないと教えられます。 PHP5 のリリースにより、この文はそれほど正しくなくなりました。現在では、PHP を使用してクライアント側のスクリプトを作成することもできるためです。はい、そのとおりです。PHP でクライアント スクリプトを作成します。
ActivePHP インストール
次に、PHP を使用してクライアント スクリプトを作成する方法を説明します。まず、Windows に PHP5 インストール パッケージをダウンロードし、C:Program FilesEasyPHP5php のようなディレクトリに解凍する必要があります。次に、Windows のコマンド ライン モードに入り、PHP5 を解凍したディレクトリに移動します。タイプ:
regsvr32 php5activescript.dll
Enter を押すと、成功プロンプトが表示されます:
これは、既に ActivePHP を使用できることを意味します。さて、それをテストするための簡単なスクリプトを書いてみましょう。これはまだユニバーサル HelloWorld:P です。
コードリスト?>
$document->write( 'Hello World!' );上記のコードを Hello.htm として保存し、ダブルクリックすると、以下の結果が表示されます。
環境要件 ?>
PHP: 5.0.0
OS: Windows
ブラウザ: IE
まあ、効果は良いですが、クライアント側では十分ではありません。コードを変更しましょう:
コードリスト?>
$window->alert( 'Hello World!' );
もう一度実行して見てください~
何か感じますか?
私たちのバージョン管理システム
バージョン管理システムに戻って話しましょう。私たちが構築したいバージョン管理システムは非常に単純です。それは、開発ディレクトリ内のファイルとデータベースのデータ テーブルを RAR パッケージにパッケージ化し、時刻に応じた名前を付けてバックアップ ディレクトリに置くことです。この記事の主な目的は ActivePHP の使用方法を説明することであるため、RAR パッケージの管理と、それを解凍して元のデータを上書きする内容については考慮しません。ただし、バージョン管理システムにとって、この部分は非常に重要です。自分で行うことをお勧めします ;) 。
関連知識 ?>
Mysql データベースは mysql/data ディレクトリにファイル形式で格納されており、1 つのライブラリが 1 つのディレクトリに対応します。
まず第一に、PHP が Windows 上の他のプログラム (システム コマンド) をどのように呼び出すかを知る必要があります。このコマンドは Echo と同じくらい単純で、
System('command'); だけです。
次に、RAR のコマンド ラインの使用方法を知る必要があります。この種のことは、RAR のインストール ディレクトリにあるヘルプ ドキュメントに記載されています。ずっと英語の山を眺めていた結果、圧縮したいファイルをテキストファイルに書き出し、そのファイル名をパラメータとしてRARに渡すという方法を見つけました。コマンドラインとして記述します:
rar.exe a path_to_save @file_list
このファイルの生成は PHP にとって非常に簡単で、単なるトラバーサル関数です。 次の 2 つの関数は、PHP マニュアルの User Contribute から改良されています。
コードリスト?>
function R_walk($oldname, &$string)
{
if(is_file($oldname))
{
$string .= $oldname ."rn"; }
else if(is_dir ( $oldname ) )
{
R_dir_walk($oldname, $string);
}
else
{
die("ファイルを追加できません: $oldname (ファイルでもディレクトリでもありません)") ;
}
}
function R_dir_walk($oldname, &$string)
{
$dir = opendir( $oldname );
while( $file = readdir( $dir ) )
{
if ( $file == "."
$file == ".." )
{
続ける;
R_walk("$oldname/$file", $string)
}
これら2つの関数を使用すると、リストファイルを簡単に生成できます。
実際の動作部分のコードは以下の通りです:
コードリスト?>
$php_path = 'C:/Program Files/EasyPHP1-7/home/dev/R4/'; $mysql_path = 'C:/Program Files/EasyPHP1-7/mysql/data/r4/';
$date = date( "Y_m_d_H_i_s" );
$bakeup_path = 'D:/bakeup/R4/Backup_'; date;
// ファイルをコピー
R_walk( $php_path , $files );
// mysql を停止します
$window->alert( 'Mysql サービス プロセスがシャットダウンされます...' ); ( 'mysqladmin.exe -uroot シャットダウン ' );
R_walk( $mysql_path , $files ) = str_replace( '/' , '\' , $files ); ' , $files );
$window->alert( '圧縮が開始されます。CMD ウィンドウを手動で閉じないでください...' );
system( 'rar.exe a "' . $bakeup_path . '" @ "./info.txt" ' );
$window->alert( '圧縮が完了しました。Mysql がすぐに再起動されます。下に表示される CMD ウィンドウを手動で閉じてください...' ); restart mysql
system( 'mysqld.exe&' );
上記のコードは非常に単純で、いくつかの箇所のみを説明しています
· MySQL は実行中にデータ テーブルをロックするため、圧縮する前にサービスを停止する必要があります圧縮が完了したら、再度開始します。
· システム コマンドは、コマンドが完了するまで待機してから実行を継続します。Mysqld.exe はバックグラウンド サービスであり、停止しないため、プログラムはここで待機状態になります。CMD ウィンドウを手動で閉じます。
· 上記のrarやmysqldなどのプログラムのパスは環境変数に追加されるので指定する必要はありません。 Windows XP で環境変数を追加する場所は、[マイ コンピュータ] (右クリック/プロパティ) -> [詳細設定] -> [システム変数] (パス) です。
OK、上記のコードを追加し、保存して、もう一度実行してください。とても便利です、ほほ〜 この記事は以上です。忘れずに宿題を終わらせてください:P
(出典: Viphot)
http://www.bkjia.com/PHPjc/314051.html
www.bkjia.com
true