導航:首頁 > 編程語言 > 移動版php

移動版php

發布時間:2023-03-06 18:19:32

1. php開發的pc端和移動端的後台有什麼差別么

PHP處理的是後端數據,不管是pc端還是移動端,只要請求相應的介面,返回的數據是一樣的。只是pc端或者移動端作為顯示工具,顯示的方式不同罷了

2. PHP判斷用戶在移動端訪問還是桌面端訪問的代碼

<?php
functionisMobile()
{
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
{
returntrue;
}
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA']))
{
//找不到為flase,否則為true
returnstristr($_SERVER['HTTP_VIA'],"wap")?true:false;
}
//腦殘法,判斷手機發送的客戶端標志,兼容性有待提高
if(isset($_SERVER['HTTP_USER_AGENT']))
{
$clientkeywords=array('nokia',
'sony',
'ericsson',
'mot',
'samsung',
'htc',
'sgh',
'lg',
'sharp',
'sie-',
'philips',
'panasonic',
'alcatel',
'lenovo',
'iphone',
'ipod',
'blackberry',
'meizu',
'android',
'netfront',
'symbian',
'ucweb',
'windowsce',
'palm',
'operamini',
'operamobi',
'openwave',
'nexusone',
'cldc',
'midp',
'wap',
'mobile'
);
//從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT'])))
{
returntrue;
}
}
//協議法,因為有可能不準確,放到最後判斷
if(isset($_SERVER['HTTP_ACCEPT']))
{
//如果只支持wml並且不支持html那一定是移動設備
//如果支持wml和html但是wml在html之前則是移動設備
if((strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==false)&&(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===false||(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')<strpos($_SERVER['HTTP_ACCEPT'],'text/html'))))
{
returntrue;
}
}
returnfalse;
}
?>

3. 如何利用Thinkphp框架開發移動端介面詳解

方案一:給原生APP提供api介面

使用TP框架時 放在common文件夾下文件名就叫function.php


<?php
/**
*Createdbyzhangkx
*Email:[email protected]
*Date:2015/8/1
*Time:23:15
*/

/******api開發輔助函數*******/

/**
*@paramnull$msg返回正確的提示信息
*@paramflagsuccessCURD操作成功
*@paramarray$data具體返回信息
*Functiondescript:返回帶參數,標志信息,提示信息的json數組
*
*/
functionreturnApiSuccess($msg=null,$data=array()){
$result=array(
'flag'=>'Success',
'msg'=>$msg,
'data'=>$data
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具體錯誤的提示信息
*@paramflagsuccessCURD操作失敗
*Functiondescript:返回標志信息『Error',和提示信息的json數組
*/
functionreturnApiError($msg=null){
$result=array(
'flag'=>'Error',
'msg'=>$msg,
);
printjson_encode($result);
}

/**
*@paramnull$msg返回具體錯誤的提示信息
*@paramflagsuccessCURD操作失敗
*Functiondescript:返回標志信息『Error',和提示信息,當前系統繁忙,請稍後重試;
*/
functionreturnApiErrorExample(){
$result=array(
'flag'=>'Error',
'msg'=>'當前系統繁忙,請稍後重試!',
);
printjson_encode($result);
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:過濾post提交的參數;
*
*/

functioncheckDataPost($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_POST[$k]))||(empty($_POST[$k]))){
if($_POST[$k]!==0&&$_POST[$k]!=='0'){
returnApiError($k.'值為空!');
}
}
}
unset($data);
$data=I('post.');
unset($data['_URL_'],$data['token']);
return$data;
}
}

/**
*@paramnull$data
*@returnarray|mixed|null
*Functiondescript:過濾get提交的參數;
*
*/
functioncheckDataGet($data=null){
if(!empty($data)){
$data=explode(',',$data);
foreach($dataas$k=>$v){
if((!isset($_GET[$k]))||(empty($_GET[$k]))){
if($_GET[$k]!==0&&$_GET[$k]!=='0'){
returnApiError($k.'值為空!');
}
}
}
unset($data);
$data=I('get.');
unset($data['_URL_'],$data['token']);
return$data;
}
}


查詢單個果品詳細信息
/**
*發布模塊
*
*獲取信息單個果品詳細信息
*
*/
(){
//檢查是否通過post方法得到數據
checkdataPost('id');
$where['id']=$_POST['id'];
$field[]='id,fruit_name,high_price,low_price,address,size,weight,fruit_pic,remark';
$releaseInfo=$this->release_obj->findRelease($where,$field);
$releaseInfo['remark']=mb_substr($releaseInfo['remark'],0,49,'utf-8').'...';
//多張圖地址按逗號截取字元串,截取後如果存在空數組則需要過濾掉
$releaseInfo['fruit_pic']=array_filter(explode(',',$releaseInfo['fruit_pic']));
$fruit_pic=$releaseInfo['fruit_pic'];unset($releaseInfo['fruit_pic']);
//為圖片添加存儲路徑
foreach($fruit_picas$k=>$v){
$releaseInfo['fruit_pic'][]='http://'.$_SERVER['HTTP_HOST'].'/Uploads/Release/'.$v;
}
if($releaseInfo){
returnApiSuccess('',$releaseInfo);
}else{
returnApiError('什麼也沒查到(+_+)!');
}
}


findRelease()方法的model
/**
*查詢一條數據
*/
publicfunctionfindRelease($where,$field){
if($where['status']==''||empty($where['status'])){
$where['status']=array('neq','9');
}
$result=$this->where($where)->field($field)->find();
return$result;
}


app端接收到的數據(解碼json之後)
{
"flag":"success",
"message":"",
"responseList":{
"id":"2",
"fruit_name":"蘋果",
"high_price":"8.0",
"low_price":"5.0",
"address":"天津小白樓水果市場",
"size":"2.0",
"weight":"2.0",
"remark":"急需...",
"fruit_pic":[
"http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png",
"http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"
]
}
}


app端接收到的數據(原生json串)
代碼如下:

{"flag":"success","message":"","responseList":{"id":"2","fruit_name":"u82f9u679c","high_price":"8.0","low_price":"5.0","address":"","size":"2.0","weight":"2.0","remark":"u6025u9700...","fruit_pic":["http://fruit.txunda.com/Uploads/Release/201508/55599e7514815.png","http://fruit.txunda.com/Uploads/Release/201508/554f2dc45b526.jpg"]}}

方案二:另外我們還可以通過ThinkPHP實現移動端訪問自動切換主題模板,這樣也可以做到移動端訪問

ThinkPHP的模板主題機制,如果只是在PC,只要需修改 DEFAULT_THEME (新版模板主題默認是空,表示不啟用模板主題功能)配置項就可以方便的實現多模板主題切換。

但對於移動端與PC端,也許你會設計完全不同的主題風格,且針對不同的來路提供不同的渲染方式,其中一種比較流行的方法是「響應式設計」,但就本人經歷而言,要實現完全的「響應式設計」並不是那麼容易,且解決兼容問題也是個難題,假設是大型站點,比如:淘寶、網路、拍拍這些,響應式設計肯定是滿足不了需求的,而是需要針對手機訪問用戶提供單獨的手機網站。

ThinkPHP 完全能夠實現,而且非常的簡單。與TPM的智能模版切換引擎相同,只要對來路進行判斷處理就行了。

一、將 ismobile() 加入到{項目/Common/common.php}

functionismobile(){
//如果有HTTP_X_WAP_PROFILE則一定是移動設備
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
returntrue;

//此條摘自TPM智能切換模板引擎,適合TPM開發
if(isset($_SERVER['HTTP_CLIENT'])&&'PhoneClient'==$_SERVER['HTTP_CLIENT'])
returntrue;
//如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA']))
//找不到為flase,否則為true
returnstristr($_SERVER['HTTP_VIA'],'wap')?true:false;
//判斷手機發送的客戶端標志,兼容性有待提高
if(isset($_SERVER['HTTP_USER_AGENT'])){
$clientkeywords=array(
'nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile'
);
//從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if(preg_match("/(".implode('|',$clientkeywords).")/i",strtolower($_SERVER['HTTP_USER_AGENT']))){
returntrue;
}
}
//協議法,因為有可能不準確,放到最後判斷
if(isset($_SERVER['HTTP_ACCEPT'])){
//如果只支持wml並且不支持html那一定是移動設備
//如果支持wml和html但是wml在html之前則是移動設備
if((strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')!==false)&&(strpos($_SERVER['HTTP_ACCEPT'],'text/html')===false||(strpos($_SERVER['HTTP_ACCEPT'],'vnd.wap.wml')<strpos($_SERVER['HTTP_ACCEPT'],'text/html')))){
returntrue;
}
}
returnfalse;
}

二、在{項目/Lib/}創建一個 CommonAction.php,假設你的項目已公共控制器,則無需創建,直接加在裡面就行了。

{
Publicfunction_initialize(){
//移動設備瀏覽,則切換模板
if(ismobile()){
//設置默認默認主題為Mobile
C('DEFAULT_THEME','Mobile');
}
//............你的更多代碼.......
}
}

4. 請問WAP網站(PHP版)怎麼獲取客戶端的手機號(移動、聯通、電信),謝謝!

移動的可以通過購買移動
白名單
或者和移動合作,獲取到手機號,聯通電信獲取不到

5. php怎麼判斷訪問端是移動端還是pc端

2002年到2010年這之間php異軍突起的主要原因,是因為互聯網尤其是pc端的崛起,那時快速迭代開發,是所有中小企業最大的需求,管你什麼介面速度,運行效率,單線程還是多線程庫多還是庫少,只要能在短時間內把網站搞起來就行。

直到2010年以後移動端的出現app的使用大幅度超過pc端,前後端開始逐步分離,php本身可以嵌入html代碼就不再是特別大的優勢了,尤其php對進程線程協程的支持不夠使得一些app性能需求無法滿足,因此php更多開始和其他語言混用,甚至被其他像go,python這樣的語言壓制並搶占份額。

雖然說總體上我對php的發展還是樂觀的,畢竟社區,體量,易用性擺在那裡,尤其是php8即將誕生。但是隨著移動互聯網逐漸走向尾聲,app開發對性能要求的更高php在某些方面的劣勢也越來越明顯。因此對於php的培訓減少並不奇怪。

6. phpwind的移動社區版本,有何看法

目前不論是discuz 還是phpwind的移動社區版本都不是很好,足夠大的本地論壇一般都會選擇開發自己的APP版本,或者直接在微信公眾號上開發手機版。

7. PHP可以做移動端嗎

做移動端的後台
如果你只是指頁面的話,
當然,php可以直接輸出頁面。

8. 如何安裝最新版phpwind移動社區

第一步. 站點與伺服器准備
你首先需要擁有站點域名並完成伺服器部署、網站備案以及域名解析等基礎准備工作。

第二步. 安裝最新版phpwind移動社區產品
phpwind移動社區產品由:PW社區系統、移動端應用介面以及手機端APP三部分組成。
在生成APP之前你需要安裝最新版的PW社區系統與移動端應用介面插件。

全新安裝:下載最新版的PW社區系統+移動端應用介面的完整安裝包,按以往社區系統安裝流程完成部署;後續會繼續提供基於阿里雲鏡像產品的一鍵部署服務;(本次發布暫不提供完整安裝包,僅提供升級程序包)
移動插件升級:安裝(升級至)最新版PW社區系統(v9.0.1 UTF8,20141223版本),下載移動端應用介面插件完成升級安裝即可。
第三步. PC端社區管理後台設置移動端內容
移動端的內容與PC端的內容已互通,並存儲在你自己的伺服器上。通過與PC端社區相同的管理後台,可以設置APP中的功能展現與交互內容。
必須配置完成後才可在移動端看到網站的指定內容。(該步驟配置也可在生成APP後實時調整更新)

登陸PW社區系統管理後台,你可以完成如下操作:

獲取安全密鑰,以確保在生成APP時的站點唯一性(後續APP生成時需使用該密鑰);
設置移動端可以顯示哪些版塊、默認發帖的歸屬版塊等;
設置APP啟動畫面廣告、首頁輪播廣告,以及鏈接指向;
設置服務商版塊,支持信息展示與淘寶店鋪/商品導購;
設置第三方授權登陸
第四步. 訪問APP管理中心創建應用,生成獨立APP安裝包
目前phpwind移動社區僅支持生成Android平台的APK程序。
第五步. 正式發布APP並分發
APP測試完成後點擊發布即可將生成的APP正式發布上線,此時APP使用用戶將收到對應的版本升級提示,並自行完成安裝更新。(正式發布後無法再次重新生成當前版本)
你可以通過本地下載,或掃描二維碼的形式獲取APP的安裝程序,並通過自主傳播、第三方應用市場投放等形式進行分發。

註:第三方應用市場投放時所需要用到的APK包名等應用信息均可在APP管理中心「已添加的應用」信息中找到。
求採納。

9. 寶塔降級php版本網站無法訪問提示永久性移動

1、首先檢查默認埠檢查寶塔phpmyadmin的默認埠888是否放行,和在伺服器的安全組規則有沒有添加888埠。
2、其次在phpmyadmin的設置里的版本選擇php(如果選擇的是靜態會導致phpmaudmin無法訪問)。
3、最後Nginx的進程因某種被關閉,導致phpmyadmin無法訪問,需重啟Nginx。

閱讀全文

與移動版php相關的資料

熱點內容
可以看的片不卡頓 瀏覽:924
香港電影一男兩女在荒島 瀏覽:781
只有我能看小說txt下載 瀏覽:903
五龍是哪部電影的主人公 瀏覽:198
女子被凍在冰箱里電影 瀏覽:353
有關美杜莎的電影 瀏覽:786
python怎麼在代碼中換行 瀏覽:776
電影007系列免費完整版 瀏覽:463
費恩曼物理學講義pdf 瀏覽:335
用python畫abaqus數據 瀏覽:57
邵氏電影 經典 瀏覽:341
程序員去市場買菜 瀏覽:390
win7kms激活伺服器地址 瀏覽:643
全解周易pdf 瀏覽:150
星際爭霸的打開地圖的命令 瀏覽:619
不用拉貨的搬家用什麼app 瀏覽:454
藍光無水印影視網站 瀏覽:318
萬勝壓縮機好嗎 瀏覽:674
男主是強大狐狸的小說 瀏覽:729
並聯電阻間比值演算法 瀏覽:386