⑴ 怎麼讓網頁點擊一個button按鈕後執行一段php代碼
可以搭配表單form來完成。
<formaction="/test.php"method="post">
用戶名:<inputtype="text"name="username">
<inputtype="submit"value="提交">
</form>
這是一個簡單的例子,點擊提交按鈕後,用戶名就會用post方式傳給test.php頁面。test.php頁面可以寫你要執行的php代碼。
⑵ 如何開啟YII框架訪問index-test.php時候的錯誤信息提示
在使用YII框架做開發的時候,可能遇到錯誤你找了半天都不知道錯誤出在哪裡,如果開啟了錯誤信息提示,那麼很明顯的就能知道錯在什麼位置了。但是我們最好把錯誤信息放在index-test.php下訪問的時候提示,而不是放在訪問index.php的時候提示,我們要如何處理呢?
首先我們要現在index-test.php中打開錯誤信息提示,需要加入以下兩行代碼
ini_set('display_errors', 'On');
error_reporting(E_ALL & ~E_NOTICE);
然後找到config下的main.php中的以下代碼
'log'=>array(
'class'=>'CLogRouter',
'routes'=>array(
array(
'class'=>'CFileLogRoute',
'levels'=>'error, warning',
),
// uncomment the following to show log messages on web pages
// array(
// 'class'=>'CWebLogRoute',
// ),
),
),
但是我們只需要將代碼縮減一下,放在test.php下即可,縮減後的代碼如下
'log'=>array(
'routes'=>array(
// uncomment the following to show log messages on web pages
array(
'class'=>'CWebLogRoute',
),
),
),
但是,這段代碼也不是什麼位置都可以放的哦,一定要放在'components'=>array()這個數組裡面才行的,接下來就訪問index.php以及index-test.php看看效果吧
⑶ test.php要怎麼寫啊,求代碼
在test.php裡面寫: print_r(json_encode(array('message'=>'成功'))); 就可以了
⑷ 如何用一條命令查找test用戶的PHP進程,並將這些進程終止
1
2
3
<?php
exec("kill -9 pid,$op,$status);
?>
把結果逐行追加到$op的結尾處,只有指定了第二 個參數時,才可以用第三個參數,用來取得命令執行的狀態碼。$status 1 kill成功,0 是失敗(一般情況下是無此進程)。
我的實際項目中是在執行的開始通過getmypid()獲取進程id保存到資料庫,如果crontab再次觸發則把之前的進程kill掉再重新執行一遍以上代碼。
⑸ php代碼為什麼同樣的代碼在test和test2文件夾下輸出不一樣
你把test的test2.php拷貝到test2就可以了呃!
具體原因,我等會到公司幫你看一下!
看出來了,就是編碼的問題,UTF-8編碼下的PHP文件,使用session_start()時會有問題,是因為一種「BOM(Byte Order Mark)」。有一種解決方式,就是在你出錯的session_start()前面添加錯誤抑制符@。
也就是在你test2.php文件的session_start()前添加一個@
去處BOM的方法:下載EditPlus,打開這個文件,然後選擇文件菜單--另存為--在編碼那一欄選擇UTF8(原始的是UTF8+BOM) ,這樣做也可以把錯誤去掉了!
⑹ PHP代碼,能詳細解釋一下每行的意思么多謝了
php中類操作有幾個關鍵字,$this, self, static, parent
$this很好區別,就是實例化後的對象,所以不能在靜態方法里調用
classtestA{
public$name="name";
publicstaticfunctiontest(){
//出錯!static方法不能使用this
echo$this->name;
}
}
self, static, parent 都是靜態調用,後跟 :: 如果是變數,要加$
classtestA{
//屬性也要定義成靜態的,不然也是訪問不了的
publicstatic$name="name";
public$mobile="";
publicstaticfunctiontest(){
//可以訪問
echostatic::$name;
//不可訪問
echostatic::$mobile
}
}
下面說一下三者區別
self 指代當前定義方法所在的類
static 後期靜態綁定的類 ( 實際調用中是哪個類,就代表哪個類,不一定是方法定義所在的類 )
parent 這個也好區別,就是當前定義類的父類
classA{
publicstaticfunctionwho(){
echo__CLASS__;
}
publicstaticfunctiontest(){
static::who();//後期靜態綁定從這里開始
}
}
classBextendsA{
publicstaticfunctionwho(){
echo__CLASS__;
}
}
B::test();
以上代碼,輸出 B
因為最後調用是從B 這個類調用的
classA{
publicstaticfunctionwho(){
echo__CLASS__;
}
publicstaticfunctiontest(){
self::who();
}
}
classBextendsA{
publicstaticfunctionwho(){
echo__CLASS__;
}
}
B::test();
以上代碼,輸出 A
因為調用who時指定了當前類,不管最終從哪裡調用,都會調用到A里定義的方法
另外 ,這三個關鍵字可跟在new 後面,來實例化代表的類,就不用重復寫類名,方便維護。
參考:php:後期靜態綁定
學php可以多看看官方手冊
下面我再簡單解釋下你發的代碼。
你這個應該是thinkphp的model吧,init靜態方法是model的初始化方法,是一個靜態方法,主要用於勾子處理(事件綁定)。這個調用可以從thinkphp的model類中找到。
一般在定義方法時需要覆蓋父類方法,都會調用一下 parent::method() 用於先執行父類的方法,除非特意屏蔽父類初始方法就不調用。
⑺ 怎樣在本地測試php代碼
准備工作 首先要下載如下軟體,推薦到官網下載,如果你是像我一樣只是測試,那麼到skycn.com下載吧,這樣比較快。
Apache http://httpd.apache.org/
最流行的HTTP伺服器軟體之一。快速、可靠、可通過簡單的API擴展,Perl/Python解釋器可被編譯到伺服器中,完全免費,完全源代碼開放。
我下載的是for Windows版本,目前最新版本是:2.0.54
PHP http://www.php.net/
PHP 是一種 HTML 內嵌式的語言。而PHP獨特的語法混合了 C、Java、Perl 以及 PHP 式的新語法。它可以比 CGI 或者 Perl 更快速的執行動態網頁。
我下載的是for Windows版本,目前最新版本是:5.0.4
MySQL http://www.mysql.com/
是一個多線程的,結構化查詢語言(SQL)資料庫伺服器。SQL 在世界上是最流行的資料庫語言。MySQL 的執行性能非常高,運行速度非常快,並非常容易使用。
我下載的是for Windows版本,目前最新版本是:5.0.4 Beta
phpMyAdmin http://www.phpmyadmin.net/
phpMyAdmin 是一個用PHP編寫的,可以通過互聯網控制和操作MySQL。通過phpMyAdmin可以完全對資料庫進行操作。
我下載的是for Windows版本,目前最新版本是:2.6.2-pl1
安裝apache和PHP
下面是我的安裝記錄:
選擇80埠,將apache安裝在 e:\apache下。
配置apache里的httpd.conf文件(conf目錄下)
找到 DocumentRoot E:/apache/Apache2/htdocs 將其改為WEB目錄E:/htdocs
找到 DirectoryIndex index.html index.html.var 在後面加入 index.htm index.php default.php default.html
選擇模塊化模式安裝
找到 #LoadMole ssl_mole moles/mod_ssl.so 這行,在此行後加入一行
LoadMole php5_mole e:/php/php5apache2.dll
找到 AddType application/x-gzip .gz .tgz 這行,在此行後加入一行
AddType application/x-httpd-php .php
將php-5.0.4-Win32.zip里內容解壓到e:\php里,找到php.ini-recommended,重命名為php.ini並拷貝到windows目錄下。
NTFS上記得給伺服器開PHP.ini的讀許可權。
查找extension_dir後面的改為e:/php/ext
查找Windows Extensions,把下面有一排的;extension=php_***.dll的分號去掉,就是支持組件了。我把 extension=php_gd2.dll extension=php_mbstring.dll extension=php_mysql.dll 的分號去掉了。
php5默認不支持mysql了,所以要為他添加支持,除了extension=php_mysql.dll去分號之外,在php目錄里有個libmysql.dll文件,把它復制到系統的system32文件夾下,復制php.ini到windows目錄下。
此時PHP環境基本已經配置成功
在WEB根目錄里建一個名為test.php的文件內容如下
<? echo phpinfo(); ?>
重新啟動apache服務,用瀏覽器打開 http://localhost/test.php
如果可以看到php配置輸出信息就成功了
安裝mysql
將mysql安裝到指定目錄,然後安裝程序會引導你一步步配置。不過奇怪的是最後任務欄沒有出現Mysql的圖標。
修改mysql資料庫的root密碼
用cmd進入命今行模式輸入如下命令: ( 注: d:\mysql 為mysql安裝目錄)
cd d:\mysql\bin
mysqladmin -u root -p password 123456
回車出現
Enter password: ( 注:這是叫你輸入原密碼. 剛安裝時密碼為空,所以直接回車即可)
此時mysql 中賬號 root 的密碼 被改為 123456 安裝完畢
配置php.ini並測試mysql
找到extension_dir = ./ 改為 extension_dir = e:/php/ext
找到
;extension=php_mysql.dll
將';'去掉改為
extension=php_mysql.dll
找到
;session.save_path = /tmp
將';'去掉 設置你保存session的目錄,如
session.save_path = e:/php/session_temp
重啟apache服務
在Web根目錄下建立testdb.php文件內容如下:
<?php
$link=mysql_connect('localhost','root','123456');
if(!$link) echo fail;
else echo success;
mysql_close();
?>
用瀏覽器打開http://localhost/testdb.php 如果輸出success就OK了
phpmyadmin的安裝配置
將phpMyAdmin-V2.6.2-pl1.zip解壓到WEB根目錄中去,重命名文件夾為phpmyadmin或其它
打開phpmyadmin 目錄中的 config.inc.php
找到
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
分別填上用戶名和密碼
⑻ 我配置好php和apache之後,在瀏覽器輸入http://localhost/test.php之後,為什麼顯示的是我文件的代碼
Apache沒有生效,新手的話建議使用集成環境,熟悉了您就慢慢會配置了。假愛偷偷笑
⑼ 輸入localhost/test.php後輸出的是PHP源代碼
<?php
info();
?>
請注意php和info之間是有分開的。
⑽ bat 怎麼執行php代碼嗎
@echooff
"E:xampphtdocs ttphp.exe"-c.test.php
pause
這樣試試,注意".test.php"要有個點
我試了下,在我這里能創建目錄成功