搜尋
首頁後端開發php教程用ActivePHP打造版本管理系統_PHP教學
用ActivePHP打造版本管理系統_PHP教學Jul 21, 2016 pm 04:11 PM
php學習我們打造伺服器版本管理系統腳本


學習PHP時,我們總是被教導到,PHP是一種伺服器端腳本,是不能用來控制客戶端的。而伴隨著PHP5的發布,這句話就不是那麼正確了。因為現在,PHP也可以用來寫客戶端腳本了。是的,你沒有聽錯,用PHP寫客戶端腳本。



ActivePHP的安裝



下面我們就來示範如何使用PHP寫入客戶端腳本。首先,你需要下載PHP5在windows上的安裝包,然後解壓縮到一個目錄裡,例如:C:Program FilesEasyPHP5php,接著呢,進入windows的命令列模式,cd到你解壓縮PHP5的目錄,然後鍵入:

regsvr32 php5activescript.dll


回車以後,你會看見一個成功提示:




這說明你已經可以使用ActivePHP了。好,我們下邊就來寫一個簡單的腳本來測試下,仍然是全球通用的HelloWorld:P。



程式碼清單?>






將上邊的程式碼儲存為Hello.htm,然後雙擊它,你就可以看見下邊的結果了。



環境要求?>

PHP:5.0.0

OS: Windows

Browser: IE
OS: Windows

Browser: IE





嗯,效果不錯,但是還不夠有客戶端的特色。讓我們來修改下程式碼:



程式碼清單?>






再運行下看看~




是不是有些感覺了?



我們的版本管理系統



下邊我們回頭說版本管理系統。我們要做的版本管理系統很簡單,就是把開發目錄下的檔案和資料庫的資料表打成一個RAR包,按時間命名並放到一個備份目錄下。由於本文的主要目的是示範ActivePHP的使用,我們就不考慮對RAR包的管理和將其解壓縮覆蓋原有數據的內容了,不過對於一個版本管理系統來說,這部分是很重要的,建議大家自己完成;) 。



相關知識 ?>

Mysql的資料庫是以檔案形式存放在mysql/data目錄下的,一個函式庫對應著一個目錄。




首先我們要知道PHP呼叫Windows上其他程式的方法,那就是System指令。這個指令簡單得跟Echo一樣,直接

System('command');


就可以了。



然後我們就需要知道RAR的命令列使用方法了,這種東西應該當然要找幫助文件了,就在RAR的安裝目錄下。在英文堆裡看了好久,終於找到了一個方法:把要壓縮的檔案寫到一個文字檔案裡,再把檔案名稱當作參數,傳給RAR。寫成命令列就是:

rar.exe a path_to_save @file_list


產生這個檔案對於PHP來說很簡單,一個就可以了,下邊這兩個函數是從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("Cannot add file: $oldname (it's neither a file nor a directory)");
}
}
}
}
{
$dir = opendir( $oldname );
while( $file = readdir( $dir ) )
{
if ( $file == "."
$file == ".." )
{
continue;
}

R_walk("$oldname/$file", $string);
}
closedir($dir);
}
有了這兩個函數,產生清單檔案就很容易了。

下邊是實際操作部分的程式碼:



程式碼清單?>

$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;

// copy file
R_walk( $php_path , $files );

/
/ / stop mysql
$window->alert( '即將關閉Mysql服務程序…' );
system( 'mysqladmin.exe -uroot shutdown' );
R_walk( $mysql_path , $files );

$files = str_replace( '/' , '\' , $files );

write2_file( './info.txt' , $files );

$ window->alert( '壓縮開始,請不要手動關閉CMD視窗…' );
system( 'rar.exe a "' . $bakeup_path . '" @"./info.txt" ' );

$window->alert( '壓縮完成,即將重啟Mysql,請手動關閉下面彈出的CMD視窗…' );

// restart mysql
system( 'mysqld. exe&' );




上邊的程式碼很簡單,只說明幾個地方

· Mysql在運行時會鎖定資料表,所以我們要在壓縮前停止服務,壓縮完成後再啟動。

· System指令會等待指令完成後再繼續向下執行,而mysqld.exe是後台服務,是不會停止的,所以程式到這裡就進入了等待狀態,手動關閉CMD視窗就可以了。

· 上邊的rar和mysqld等程式的路徑是加入環境變數的,所以不用指定。 Windows XP新增環境變數的地方在:我的電腦(右鍵/屬性)-> 進階 -> 環境變數 -> 系統變數(Path)。



好了,添上上邊的程式碼,盤,再運行下看看:很方便吧,HoHo~ 文章就到這裡,記得把功課做完:P

(出處:Viphot)

http://www.bkjia.com/PHPjc/314051.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314051.htmlTechArticle學習PHP時,我們總是被教導到,PHP是一種伺服器端腳本,是不能用來控制客戶端的。而伴隨著PHP5的發布,這句話就不是那麼正確了。因為現...
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
修复:任务栏溢出在 Windows 11 上不起作用修复:任务栏溢出在 Windows 11 上不起作用Jul 18, 2023 am 09:41 AM

当Windows11任务栏溢出功能停止工作时,用户将丢失重要的自定义选项。这是因为该功能允许您将尽可能多的应用程序添加到任务栏并轻松启动它们。虽然这个问题可能令人沮丧,但并不是最难解决的。在本综合指南中,我们准备了万无一失的方法,以使任务栏溢出功能再次正常工作。为什么任务栏溢出在Windows11上不起作用?正如用户报告的那样,有几个因素可能导致任务栏溢出在Windows11上不起作用。以下是一些值得注意的原因:过时的PC:过时的操作系统是此问题的主要原因。如果您使用高于Windows11预览体

轻量化版 Win 11 – Tiny11 2311 正式推出:只占 8GB 空间轻量化版 Win 11 – Tiny11 2311 正式推出:只占 8GB 空间Nov 27, 2023 pm 02:06 PM

一款基于Windows11最新版本23H2的轻量化系统「Tiny112311」正式推出,提供了更精简的系统体验。该系统去除了许多不必要的组件和高硬件要求,使得安装后的占用空间仅需约8GB。Tiny112311集主要功能于一身作为基于最新Windows11版本23H2的产物,Tiny112311包含了微软引入的所有新功能,包括Copilot功能(需通过winget下载微软Edge,因为没有预装浏览器)、原生RAR支持、重新设计的音量滑块、设定应用中的RGB控制等。与之前的Tiny11版本相比,23

Stable Diffusion XL 现已推出—有什么新功能,你知道吗?Stable Diffusion XL 现已推出—有什么新功能,你知道吗?Apr 07, 2023 pm 11:21 PM

3月27号,Stability AI的创始人兼首席执行官Emad Mostaque在一条推文中宣布,Stable Diffusion XL 现已可用于公开测试。以下是一些事项:“XL”不是这个新的AI模型的官方名称。一旦发布稳定性AI公司的官方公告,名称将会更改。与先前版本相比,图像质量有所提高与先前版本相比,图像生成速度大大加快。示例图像让我们看看新旧AI模型在结果上的差异。Prompt: Luxury sports car with aerodynamic curves, shot in a

PHP8.0中的匿名函数PHP8.0中的匿名函数May 14, 2023 am 08:31 AM

PHP8.0是当前最新版本的PHP编程语言。一项重要的更新是对匿名函数的改进和增强。匿名函数(也称为闭包)是一种特殊类型的函数,可以在运行时动态创建并传递给其他函数或存储在变量中。在PHP中,匿名函数对于高级编程和Web开发至关重要。PHP8.0提供了一些新的语法和功能,可以使匿名函数更加灵活和易于使用。其中一些更新如下:函数参数的类型声明在PHP8.0中,

win101909和22h2对比,有什么区别?win101909和22h2对比,有什么区别?Dec 22, 2023 pm 04:09 PM

不少用户在使用电脑系统的时候都会比较纠结不知道该怎么选择win101909和22h2这两个版本,其实从版本迭代来看,建议是选择22H2更好,因为这个可以看成是一个版本更新。win101909和22h2哪个好答:win1022h2更好。Windows1022H2相较于先前的版本1909而言,虽然只是些许的更新改进,但这实际上算是一种微小的突破性进步。1、1909版乃是Windows10的第九款迭代版本,该产品在2019年的11月份正式浮出水面。2、此版本为功能升级,并非全新的Windows10版本

推荐哪款鼠标连点器软件使用效果较好?推荐哪款鼠标连点器软件使用效果较好?Jan 02, 2024 pm 07:54 PM

用什么鼠标连点器比较好对于连点器,我推荐使用AutoClicker。它是一款简单易用的鼠标连点软件,可以帮助你自动点击鼠标。原因是AutoClicker具有以下优点1.界面简洁直观,操作简单,适合初学者使用。2.支持自定义点击间隔时间,可以根据需要调整点击速度。3.可以设置点击次数或持续点击,满足不同的需求。4.免费软件,无需付费购买。如果你想使用连点器,可以尝试一下AutoClicker。生死狙击2罗技鼠标宏怎么设置以下是在生死狙击2中设置罗技鼠标宏的步骤:1.首先,确保你已经购买并安装了罗技

Windows将在不久的将来停用TLS 1.0和TLS 1.1Windows将在不久的将来停用TLS 1.0和TLS 1.1Aug 12, 2023 am 11:37 AM

Microsoft计划在Windows中禁用传输层安全性(TLS)协议版本1.0和1.1。该公司于1年2023月日在其技术社区网站上宣布了这一消息。这两个协议可以追溯到1999年(TLS1.0)和2006年(TLS1.1),此后被新版本TLS1.2和TLS1.3超越。Microsoft指出,在较旧的协议版本中发现了安全问题,并且“互联网标准和监管机构已弃用或不允许TLS版本1.0和1.1作为响应。多年来,TLS1.0和1.1的使用量显着下降,Microsoft认为禁用这两种协议的时候到了。Mic

对话钉钉:如何打造一款超级AI应用?对话钉钉:如何打造一款超级AI应用?Nov 13, 2023 pm 05:29 PM

超级应用的关键在于能够整合并取代多个应用,这和大模型的特性天然契合。如何逐步统一体验和搭上大模型快车是一个庞大且臃肿的钉钉所面临的产品问题。在过去的一年多时间里,钉钉进行了多次取舍、删减和重构,针对产品架构进行了改进。如今,在智能化的课题中,钉钉似乎再次变得性感起来钉钉的基本面是ToB,但又很要求用户体验。“客户是ToB的,用户是ToC的,钉钉天然同时有ToB和ToC两种属性,B端员工用钉钉,也有ToC的体验和便捷性的诉求,钉钉要从原先的单点突破走向系统化升级。”钉钉首席产品官齐俊生说。无论是过

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
1 個月前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境