zblog
zblogphp文章提交的核心接口說明
接口名稱:Filter_Plugin_PostArticle_Core
接口描述:接管本插件(jiàn)接口,将提交文章數據時,在過濾數據内容及保存數據前運行插件(jiàn)自(zì)定義代碼,即可通(tōng)過該接口更改保存的文章内容。
應用場景:過濾文章内容,替換指定數據内容等,如将文章中的遠(yuǎn)程文件(jiàn)鏈接自(zì)動換為(wèi)本地URL、添加文章時添加附件(jiàn)信息(如發送郵箱)等。
調用方法:
Add_Filter_Plugin('Filter_Plugin_PostArticle_Core','yt_demo');
調用參數:
參數類型:post
參數:$article
描述:當前提交的文章數據實例
返回參數:
無
調用示例:
#注冊插件(jiàn) RegisterPlugin("RemoteImage","ActivePlugin_RemoteImage"); #激活插件(jiàn)時挂接 Filter_Plugin_PostArticle_Core接口 function ActivePlugin_RemoteImage() { Add_Filter_Plugin('Filter_Plugin_PostArticle_Core','RemoteImage_Main'); } #以引用方式接管$article實例 function RemoteImage_Main(&$article) { global $zbp; $content = $article->Content; $pattern = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/"; //匹配圖片文件(jiàn)的正則 preg_match_all($pattern,$content,$matchContent); $picArray = $matchContent[1]; //存儲匹配的圖片鏈接 if ($picArray){ foreach($picArray as $key=>$rurl){ if(substr($rurl,0,strlen($zbp->host))!=$zbp->host) { $path=$zbp->usersdir.'upload/'.date('Y').'/'.date('m'); if(!file_exists($path)) mkdir($path,0755,true); $picname=date('YmdHis').'_'.rand(10000,99999).'.'.pathinfo($rurl,PATHINFO_EXTENSION); $pic=$path.'/'.$picname; $getpic=RemoteImage_Save($rurl,$pic,$picname); //保存遠(yuǎn)程圖片到(dào)本地服務器(qì),得到(dào)返回的本地圖片地址 $picUrl=str_replace($zbp->path,$zbp->host,$pic); //把圖片地址替換成本地 $article->Content=str_replace($rurl,$picUrl,$article->Content); //替換文章内容中的圖片地址 } } } } #保存遠(yuǎn)程圖片到(dào)本地服務器(qì),返回保存在本地的圖片地址 function RemoteImage_Save($url,$filename="",$name) { global $zbp; if($url=="") return false; if($filename=="") { $ext=strrchr($url,"."); if($ext!=".gif" && $ext!=".jpg" && $ext!=".png") return false; $filename=date("YmdHis").$ext; } ob_start(); readfile($url); $img = ob_get_contents(); ob_end_clean(); $size = strlen($img); $fp2=@fopen($filename, "a"); fwrite($fp2,$img); fclose($fp2); $upload = new Upload; $upload->Name = $name; $upload->SourceName = $name; $upload->MimeType = ""; $upload->Size = $size; $upload->AuthorID = $zbp->user->ID; $upload->Save(); return true; }
示例說明:
代碼來自(zì)插件(jiàn)保存遠(yuǎn)程圖片,實現的步驟簡單描述如下(xià):
找出文章中的遠(yuǎn)程圖片
将遠(yuǎn)程圖片保存到(dào)本地服務器(qì)中
替換文章中的圖片地址為(wèi)本地地址
相(xiàng)關文章
php curl通(tōng)過代理獲取數據
php curl通(tōng)過代理獲取數據$curl=curl_init(); curl_setopt($curl, CURLOPT_URL, "http://www.baidu...
zblogphp文章頁面編輯頁結束接口說明
接口名稱:Filter_Plugin_Edit_End接口描述:文章編輯頁加載前處理内容。應用場景:可直接跳轉到(dào)其他頁面,處理自(zì)身業(yè)務流程。調用方法:Add_Filter_Plugin('Fi...
zblogphp文章頁面編輯2号輸出接口說明
接口名稱:Filter_Plugin_Edit_Response2接口描述:文章編輯頁面1号輸出接口,具體位置位于摘要内容設置下(xià)。應用場景:可在文章(頁面)編輯頁增加自(zì)定義參數,如自(zì)定義表單字段等。調...
zblogphp程序報(bào)錯(cuò)後如何獲得幫助
zblogphp程序報(bào)錯(cuò)後獲取幫助分為(wèi)免費(fèi)和付費(fèi)兩種。免費(fèi)幫助方法1開(kāi)啓調試模式(點擊打開(kāi)新鏈接),将截圖發到(dào)群内。方法2提交工(gōng)單或私信把網站(zhàn)信息發群主,等湊夠一(yī)定數量後,群主開(kāi)直播查錯(cuò)。付費(fèi)幫助找群...
zba文件(jiàn)怎麽使用?zba文件(jiàn)是什麽?
.zba是zblogphp的專用應用格式。應用格式又(yòu)分主題和插件(jiàn)兩種。  ...
zblog授權中心zblog商業(yè)授權價格
zblog的商用鏈接,已與2022年(nián)01月(yuè)28從(cóng)官網移除,git開(kāi)源協議MIT。如你依然不放(fàng)心,可以找豫...