ActivePHP を使用してバージョン管理システムを構築する_PHP チュートリアル

WBOY
リリース: 2016-07-21 16:11:07
オリジナル
813 人が閲覧しました


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

tru​​e

http://www.bkjia.com/PHPjc/314051.html

技術記事 PHP を学ぶとき、私たちは常に、PHP はサーバーサイドのスクリプトであり、クライアントの制御には使用できないと教えられます。 PHP5 のリリースにより、この文はそれほど正しくなくなりました。なぜなら今…
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート