A. php @這個符號,什麼意思,什麼功能。
它會抑制錯誤消息。
PHP支持一個錯誤控制操作符:at符號(@)。當添加到PHP中的表達式時,該表達式可能生成的任何錯誤消息都將被忽略。
如果已將自定義錯誤處理程序函數設置為SET錯誤處理程序()然後它仍然會被調用,但是這個自定義錯誤處理程序可以(而且應該)調用錯誤報告()當觸發錯誤的調用前面有@.時,它將返回0。
@符號是差錯控制操作者(又稱「沉默」或「關閉」操作員)。它使PHP禁止由關聯表達式生成的任何錯誤消息(注意、警告、致命等)。它的工作原理就像一個一元運算符,例如,它具有優先性和結合性。
(1)php回復中at用戶功能實現擴展閱讀
錯誤控制運算符顧名思義就是用來控制錯誤輸出,這個控制只是將錯誤信息屏蔽掉,不讓其顯示出來,並不是真正的解決錯誤。
經常在程序中使用某些函數出現一些不必要的錯誤信息時,可以使用該運算符進行屏蔽,前提是這個錯誤信息不影響程序的運行。如果對一些影響程序運算的錯誤,不推薦使用錯誤控制符,這樣不利於消除程序的錯誤。
下面看一下錯誤控制運算符的使用實例:
當打開一個不存在的文件時,用「@」來屏蔽錯誤信息的輸出;
在不使用「@」時;
<?php
$open_file= fopen("index.php","r");
?>
會有以下的輸出:
上面是一個警告錯誤信息提示,大致的意思提示我們index.php"這個文件不存在。錯誤信息在第三行...
B. PHP後台實現用戶分配功能,有誰知道怎麼實現(PS:後台將用戶分配給不同的管理員)
這個網上有很多的案例,可以參照一下,原理就是將所有的操作添加到資料庫,然後將許可權分成組的,也就是ID集合,或是單獨給用戶添加許可權ID也可以。在所以操作前獲取當前操作,簡單點所就是地址,將這個地址作為條件獲取許可權表所對應的ID,將獲取的ID和用戶許可權組集合,或用戶單獨自定的許可權ID對比是否存在,存在,表示擁有這個操作許可權,驗證通過,不存在,表示沒有這個操作許可權,驗證不通過。
C. php微信自動回復功能,回復多條是怎麼實現的呢
把回復一條封裝成一個函數,把所有的用戶存到數組,循環遍歷調用函數來實現
D. php創建linux定時at任務 比如:在寫php程序的時候,計算出另外一個php程序的執行時間
Linux計劃任務是crontab
計算時間這個借鑒別人寫的
<?php
$stime=microtime(true); //獲取程序開始執行的時間
echo "本PHP程序的運行時間為";
$etime=microtime(true);//獲取程序執行結束的時間
$total=$etime-$stime; //計算差值
$str_total = var_export($total, TRUE);
if(substr_count($str_total,"E")){
$float_total = floatval(substr($str_total,5));
$total = $float_total/100000;
echo "$total".'秒';
}
?>
E. php中如何進行用戶信息的增加,刪除,修改,功能。
表單頁面:
<form action="login.php" method="post">
用戶名:<input type="text" name="user" /><br/>
密 碼:<input type="password" name="pass" /><br/>
<button type="submit">登錄</button>
</form>
登錄處理頁面login.php
<?php
mysql_connect(資料庫伺服器,資料庫登錄用戶名,資料庫密碼);//建立臨時資料庫連接
mysql_select_db(資料庫名稱);
$user=$_POST['user'];//取得表單輸入的用戶名
$pass=$_POST['pass'];//取得表單輸入的密碼
$sql="select * from 數據表名稱 where user='$user'";//構造Sql查詢語句
if(!mysql_query($sql)){//如果執行Sql語句不成功
exit( '用戶名錯誤');
}
$sql="select * from 數據表名稱 where user='$user' and pass='$pass'";//構造Sql查詢語句
if(!mysql_query($sql)){//如果執行Sql語句不成功
exit( '密碼錯誤');
}
//這里寫登錄成功的邏輯代碼//
?>
隨便寫了一下,沒測試。不見得一定能成功!
但格式語法差不多就是這樣,我只是想給你一個樣式而已!
具體你還要自己多多學習!
F. php 微信開發怎麼回復用戶語音消息
這個是 發送消息 的 回復語音消息 。上傳一個音頻文件後 就會 獲取一個 id (怎麼上傳文件請在本網站內搜索 微信 就會有) 然後對這個音樂也是有 要求的建議是 mp3 的格式 因為比較常用 而且 音樂的長度不能多60秒 也就是要在 60秒內。然後強調一下 。 這個只能播放 臨時素材內的音樂 。 永久素材是不能辦法的大夥要記住
php 微信開發之 發送消息 回復語音消息 代碼
<?php
public function responseMsg(){
$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];
if (!empty($postStr)){
$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
$fromUsername = $postObj->FromUserName;
$toUsername = $postObj->ToUserName;
$keyword = $postObj->Content;
if($keyword){
echo '<xml>
<ToUserName><![CDATA['.$fromUsername.']]></ToUserName>
<FromUserName><![CDATA['.$toUsername.']]></FromUserName>
<CreateTime>'.time().'</CreateTime>
<MsgType><![CDATA[voice]]></MsgType>
<Voice>
<MediaId><![CDATA[Lw_t_ejZNPyJOBGszH9RFSyit_UrThhUhnjOxLYNueAEP_8N98qfSLOrwZAb9c2B]]></MediaId>
</Voice>
</xml>';
}
}
}
?>
G. php後台多用戶許可權設置及實現思路
adminconfig.php 這是後台系統中所有文件許可權配置。
fun.php 這是一個功能函數
left.php 網站後台根據用戶登錄的ID來載入相對應的功能菜單
op.php 調用adminconfig.php 默認許可權文件
opsava.php 保存用戶許可權成一個php文件
好了我們先來看看 fun.php文件吧。
. 代碼如下:
<?
function findsub($keys ,$userid='abc' ) //此函數重要就是為了調用用戶的許可權信息
{
include('user/'.$userid.'.php');
foreach($bb as $key=>$submenu)
{
foreach($submenu as $subkey=>$menuitem)
{
if( $subkey == $keys )
{
return 1;
}
}
}
}
//下面為生成用戶的php許可權文件
//寫入
function cache_write($name, $var, $values) {
$cachefile = 'op/www.hzhuti.com/'.$name.'.php';
$cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>";
if(!swritefile($cachefile, $cachetext))
{
exit("File: $cachefile write error.");
}
}
//數組轉換成字串
function arrayeval($array, $level = 0) {
$space = '';
for($i = 0; $i <= $level; $i++) {
$space .= "t";
}
$evaluate = "Arrayn$space(n";
$comma = $space;
foreach($array as $key => $val) {
$key = is_string($key) ? '''.addcslashes($key, ''\').''' : $key;
$val = !is_array($val) && (!preg_match("/^-?d+$/", $val) || strlen($val) > 12) ? '''.addcslashes($val, ''\').''' : $val;
if(is_array($val)) {
$evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
} else {
$evaluate .= "$comma$key => $val";
}
$comma = ",n$space";
}
$evaluate .= "n$space)";
return $evaluate;
}
//寫入文件
function swritefile($filename, $writetext, $openmod='w') {
if(@$fp = fopen($filename, $openmod)) {
flock($fp, 2);
fwrite($fp, $writetext);
fclose($fp);
return true;
} else {
exit("File: $filename write error.");
return false;
}
}
?>
adminconfig.php 後台許可權配置文件,以一個數組形式保存
. 代碼如下:
<?
$menus = array(
'news' => array(
'caption'=>'資訊管理',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'newsaddtype' => array('caption' => '分類增加', 'url' => 'news/addtype.php'),
'newstypemange' => array('caption' => '分類管理', 'url' => 'news/typemange.php'),
'newsnewsend' => array('caption' => '發布資訊', 'url' => 'news/newsend.php'),
'newsnewmange' => array('caption' => '資訊管理', 'url' => 'news/newmange.php'),
'newscomments' => array('caption' => '評論管理', 'url' => 'news/comments.php'),
),
),
'ask' => array(
'caption'=>'問卷調查',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'voteadmin_subject_add' => array('caption' => '添加投票主題', 'url' => 'vote/admin_subject_add.php'),
'voteadmin_subject' => array('caption' => '管理投票主題', 'url' => 'vote/admin_subject.php'),
'voteadmin_title_add' => array('caption' => '添加投票問題', 'url' => 'vote/admin_title_add.php'),
'voteadmin_title' => array('caption' => '管理投票問題', 'url' => 'vote/admin_title.php'),
'voteadmin_question_add' => array('caption' => '添加投票答案', 'url' => 'vote/admin_question_add.php'),
'voteadmin_question' => array('caption' => '管理投票答案', 'url' => 'vote/admin_question.php'),
'voteadmin_system' => array('caption' => '投票初始配置', 'url' => 'vote/admin_system.php')
),
),
'ads' => array(
'caption'=>'廣告管理',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'ada' => array('caption' => '增加廣告', 'url' => 'ada.php'),
'adm' => array('caption' => '廣告管理', 'url' => 'adm.php'),
'flashadd' => array('caption' => '焦點圖廣告增加', 'url' => 'flashadd.php'),
'flashad' => array('caption' => '焦點圖廣告管理', 'url' => 'flashad.php')
),
),
'mange' => array(
'caption'=>'系統管理員',
'icon'=>'admin/icon_15.gif',
'sub' => array(
'adminuser' => array('caption' => '管理員添加', 'url' => 'adminuser.php'),
'modpass' => array('caption' => '密碼修改', 'url' => 'modpass.php')
),
),
);
?>
left.php文件很簡單就是根據用戶登錄後ID讀出許可權
. 代碼如下:
<?
$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ www.hzhuti.com /".$userid.".php");
foreach($bb as $key=>$submenu)
{
echo "<tr><td bgcolor="#D879A7" style="line-height:22px;text-align:center;color:#ffffff;"> nr <font color="#EA6A8D" face="Webdings"></font><b>".$menus[$key]['caption']."</b><br /></td></tr> nr <tr ><td bgcolor="F5E8F1">";
foreach($submenu as $subkey=>$menuitem)
{
$tmparr = explode("|",$menuitem);
echo "<font color="#EA6A8D" face="Webdings">4</font><a href='".$tmparr[1]."' target="mainframe">".$tmparr[0]."</a><br> nr";
}
echo "</td></tr> nr ";
}
op.php這個文件就是要調用我們的adminconfig.php文件,然後利用fun.php文件中函數把提供過來的數據保存成數組如圖
點擊保存我們調用了opsava.php 文件,代碼如下
. 代碼如下:
<?
include("op/fun.php");
if( $_POST )
{
$sarray = $_POST ;
cache_write($userid,'bb',$sarray);//寫入緩存
echo "<script>alert('編輯保存成功!');location='op.php?userid=".$userid."';</script>";
}
?>
保存成功後文件內容如
. 代碼如下:
<?php
$bb=Array
(
'member' => Array
(
'user_search' => '會員升級管理|user_search.php'
),
'membercy' => Array
(
'cyuser_search' => '會員升級管理|cyuser_search.php',
'cyuser_search5' => '交友會員|cyuser_search.php?grade=5'
),
'userid' => 7,
'button' => '保存編輯'
)
?>
這樣的話我們的left只要載入 7.php文件就只會顯示這里在的文件,這樣一個基本的後台許可權就完成了。
H. 微信開發php怎麼實現,一個關鍵字回復多個消息
https://mp.weixin.qq.com/wiki
當用戶發送消息給公眾號時(或某些特定的用戶操作引發的事件推送時),會產生一個POST請求,開發者可以在響應包(Get)中返回特定XML結構,來對該消息進行響應(現支持回復文本、圖片、圖文、語音、視頻、音樂)。嚴格來說,發送被動響應消息其實並不是一種介面,而是對微信伺服器發過來消息的一次回復。
對該消息進行回復時,你能夠獲取用戶的openid,通過以下介面
「客服消息
當用戶和公眾號產生特定動作的交互時(具體動作列表請見下方說明),微信將會把消息數據推送給開發者,開發者可以在一段時間內(目前修改為48小時)調用客服介面,通過POST一個JSON數據包來發送消息給普通用戶。此介面主要用於客服等有人工消息處理環節的功能,方便開發者為用戶提供更加優質的服務。」
你可以針對一個用戶發送多條信息
I. php留言板是實現無限回復功能
個人覺得建立一個專門的資料庫表就可以了,給每個回復一個id然後在每次有回復後將這個id對應的回復寫入表中就ok了!
回復內容表:
回復Id 回復內容
回復關聯表:
回復內容id 回復內容id
這樣就可以實現無限回復了!
J. php實現用戶登陸的問題
比如在你的login.html中這樣書寫:
<form action=login.php method=post>
用戶名:<input type=text name=username><br>
密碼:<input type=password name=password><br>
<input type=submit value='登錄'>
</form>
那麼,你的login.php中,可以使用下面的變數獲取用戶名和密碼信息:
<?php
echo "你登錄的用戶名是:".$_RERQUEST['username']."<br>\n";
echo "你登錄的密碼是:".$_RERQUEST['password']."<br>\n";
?>
我這樣只是為了讓你明白變數中含有登錄信息,當然你的程序不會像這樣寫,你應該是判斷用戶名和密碼是否和你規定的相同。
當然也可以使用$_POST[username]來獲取相應的POST變數值,我一般使用$_REQUEST,因為這可以同時獲取GET的變數。