當前位置:首頁 » 編程語言 » php發布系統

php發布系統

發布時間: 2025-01-10 17:34:17

Ⅰ 推薦幾個php系統

唉,別找了,跟dz一樣強大的還沒看到過. phpwind,vbb啥的數據量一大還是比不過dz,更別提別的了.
看著不順眼可以換風格.別人推薦的你看了可能也不符合要求.
圖片多可以做做優化,說句經驗之談,zend優化過的dz,性能上絕對是第一而不是第二,還是在dz上多花些精力,也值得.

Ⅱ php開源網站內容管理系統有哪些

WordPress, Drupal和Joomla!是目前Internet上最為流行的網站內容管理系統(CMS)。針對這三種系統的優缺點從停止過,可謂是眾說紛紜。 WordPress WordPress是一個注重美學、易用性和網路標準的個人信息發布平台。WordPress 雖為免費的開源軟體,但其價值是無法用金錢來衡量。使用WordPress可以搭建功能強大的網路信息發布平台,但更多的是應用於個性化的博客。針對博客的應用,WordPress能讓您省卻對後台技術的擔心,集中精力做好網站的內容。 Drupal Drupal是一個開源的內容管理系統(CMS)平台,它是用PHP寫成的。Drupal有一個優秀的模塊化結構,提供了許多模塊,包括短消息、個性化書簽、網站管理、Blog、日記、電子商務、電子出版、留言簿、Job、網上電影院、論壇、投票等模塊。並且Drupal模塊的下載、安裝、定製非常方便。 Joomla! Joomla!是一套獲得過多個獎項的內容管理系統(Content Management System, CMS)。Joomla!採用PHP+MySQL資料庫開發,可運行.在Linux、Windows、MacOSX、Solaris等各種平台上。 Joomla!除了具有新聞/文章管理,文檔/圖片管理,網站布局設置,模板/主題管理等一些基本功能之外。還可通過其提供的上千個插件進行功能擴展包括:電子商務與購物車引擎,論壇與聊天軟體,日歷,博客軟體,目錄分類管理,廣告管理系統,電子報,數據收集與報表工具,期刊訂閱服務等。 接下來看看這一張非常詳細的圖表,涵蓋了三者諸多共同點比較,其中也有各自取得成功的重要因素。如果之三都仍然無法滿足企業的需求,那麼在尋找強大的CMS系統時,也可以此圖表為切入點,進行綜合評選。

Ⅲ php怎麼使用 redis pub/sub

一.場景介紹
最近的一個項目需要用到發布/訂閱的信息系統,以做到最新實時消息的通知。經查找後發現了redis pub/sub(發布/訂閱的信息系統)可以滿足我的開發需求,而且學習成本和使用成本也比較低。 :grin:
二.什麼是redis pub/sub
資料查看
大家在看我的blog的同時可以打開redis官方對於redis pub/sub的介紹,感覺看英文文檔吃力的話 :cry: ,可以看redis中文網的翻譯介紹.
Pub/Sub功能(means Publish, Subscribe)即發布及訂閱功能
1> 基於事件的系統中,Pub/Sub是目前廣泛使用的通信模型,它採用事件作為基本的通信機制,提供大規模系統所要求的鬆散耦合的交互模式:訂閱者(如客戶端)以事件訂閱的方式表達出它有興趣接收的一個事件或一類事件;發布者(如伺服器)可將訂閱者感興趣的事件隨時通知相關訂閱者。
2> 消息發布者,即publish客戶端,無需獨占鏈接,你可以在publish消息的同時,使用同一個redis-client鏈接進行其他操作(例如:INCR等)
3> 消息訂閱者,即subscribe客戶端,需要獨占鏈接,即進行subscribe期間,redis-client無法穿插其他操作,此時client以阻塞的方式等待「publish端」的消息;這一點很好理解,因此subscribe端需要使用單獨的鏈接,甚至需要在額外的線程中使用。
三.redis pub/sub的使用
下面我將配著實圖(用我的本地機器環境)來為大家講解redis的pub/sub怎麼去使用 .
沒有安裝phpredis擴展的或者沒有redis服務的,請參考我的另一篇blog,有詳細的安裝介紹,這里不再贅述了。
1、啟動redis服務端:
[caption id="attachment_1777" align="alignnone" width="300"] php redis pub/sub(消息訂閱系統)經驗總結之一[/caption]
2、新開一個終端,啟動redis客戶端,並做為subscribe客戶端(消息訂閱者),訂閱一個名字叫test的頻道的頻道信息:
3、啟動redis客戶端,並做為publish客戶端(消息發布者),發布一個名字叫test的頻道,信息是:hello,world
4、再切換到2步驟中的redis客戶端窗口,會發現,已經訂閱到了剛才發布的 'hello,world'消息:
5、模式匹配訂閱
Redis 的Pub/Sub實現支持模式匹配。客戶端可以訂閱全風格的模式以便接收所有來自能匹配到給定模式的頻道的消息。
比如,將接收所有發到 test.name,test.phone,test.address...等等的消息,該這樣寫:
[shell]PUBSCRIBE test.*[/shell]
在終端回車後,同時再新的窗口裡分別發布兩個頻道的消息,名字分別為:test.name和test.phone,然後切換到訂閱端的窗口裡,結果如下圖所示:
由上圖可以看出,在訂閱了test.*頻道後,一共收到了 test.name和test.phone兩個頻道的消息,這就是模式匹配訂閱。
那麼取消訂閱匹配該模式的客戶端也比較簡單:
[shell]PUNSUBSCRIBE test.*[/shell]
6、好,以上的這些簡單的demo,就是關於redis pub/sub(Publish/Subscribe,發布/訂閱的信息系統)的最基本使用。說了這么多,跟php也沒有掛上什麼鉤,別著急,重要的都往往最後出場。 :lol:
四.php使用redis的pub/sub(發布/訂閱的信息系統)
這里我列出一些常用的命令:
phpredis的安裝
redis的客戶端連接支持多種語言。這里我用的是php的phpredis,它是用c語言編寫的,目前已經作為php的一個模塊擴展,沒有安裝的可以參考我的另一篇blog,已經安裝的可以忽略此步驟.
命令手冊
這里我列出一些常用的:
[shell]Redis::__construct構造函數
$redis = new Redis();
connect, open 鏈接redis服務
參數
host: string,服務地址
port: int,埠號
timeout: float,鏈接時長 (可選, 默認為 0 ,不限鏈接時間)
注: 在redis.conf中也有時間,默認為300
pconnect, popen 不會主動關閉的鏈接
參考上面
setOption 設置redis模式
getOption 查看redis設置的模式
ping 查看連接狀態
get 得到某個key的值(string值)
如果該key不存在,return false
set 寫入key 和 value(string值)
如果寫入成功,return ture
setex 帶生存時間的寫入值
$redis->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.
setnx 判斷是否重復的,寫入值<br />$redis->setnx('key', 'value');
$redis->setnx('key', 'value');
delete 刪除指定key的值
返回已經刪除key的個數(長整數)
$redis->delete('key1', 'key2');
$redis->delete(array('key3', 'key4', 'key5'));
<span style="font-size: 16px; line-height: 24px;">
[/shell]
更詳細的使用請參考這里,我就不寫太多,因為我要直接摞代碼了. :lol:
publish(消息發布端):pub.php
[php]
/**
* redis sub(消息訂閱端)
* @ blog: phping.sinaapp.com
* @date 2016-04-24 15:00
*/
$redis = new Redis();
// 第一個參數為redis伺服器的ip,第二個為埠
$res = $redis->connect('127.0.0.1', 6379);
// test為發布的頻道名稱,hello,world為發布的消息
$res = $redis->publish('test','hello,world');
[/php]
subscribe(消息訂閱端): sub.php
[php]
/**
* redis sub(消息訂閱端)
* @ blog: phping.sinaapp.com
* @date 2016-04-24 15:00
*/
$redis = new Redis();
$res = $redis->pconnect('127.0.0.1', 6379,0);
$redis->subscribe(array('test'), 'callback');
// 回調函數,這里寫處理邏輯
function callback($instance, $channelName, $message) {
echo $channelName, "==>", $message,PHP_EOL;
}
[/php]
開始訂閱redis消息
前面已經提到過,消息訂閱者,即subscribe客戶端,需要獨占鏈接,即進行subscribe期間,redis-client無法穿插其他操作,此時client以阻塞的方式等待「publish端」的消息,所以我們用命令行來執行:
則 訂閱消息的redis客戶端已經啟動,隨時等待發布過來的消息並訂閱該消息.
發布redis消息
同樣,命令行執行消息發布端的腳本即可:
[shell]
php pub.php
[/shell]
切換到消息訂閱端的窗口發現終端有輸出,如下圖:
哈哈,是不是 收到了發布端發布的'hello,world'這條消息呢。
五.總結
在命令執行redis訂閱端腳本時,發現在終端會輸出:
[shell]
PHPFatalerror: Uncaughtexception'RedisException'withmessage'readerroronconnection'in…
[/shell]
這樣的錯誤是什麼原因呢?請看我下一篇blog,本篇主要是講一些基本的語法,在下一篇我會著重講解一些在實際開發中遇到過的哪些問題和跳過的哪些坑。。。 :mrgreen:
碼字不易,望轉載註明出處哈 ;)

Ⅳ 求一個不需要資料庫的文章發布php系統

<?
//獲取目錄下的文件
$dir=dir('./news/');
while ($file=$dir->read()){
if($file!='..'&&$file!='.')
$arr[]=$file;
}
if($_REQUEST['action']=='do'){
extract($_POST);
$num=rand(1,100);
file_put_contents('news/'.$num.'.txt',$title."<br>".$body);
echo '<script>location.href="index.php";</script>';
}
?>

<form action="index.php?action=do" method="POST">
標題:<input name="title" id="title"><br>
內容:<textarea name="body" cols="80" rows="10"></textarea><br>
<input type="submit" value="提交">
</form>
<p>閱讀新聞:</p>
<?php
if($arr)
foreach ($arr as $value){
$narr=explode('.',$value);
echo '<a href="newsdetail.php?id='.$narr[0].'">'.$narr[0].'</a><br>';
}
?>

熱點內容
路由器怎麼設置登錄密碼怎麼設置密碼 發布:2025-01-10 21:11:12 瀏覽:893
營運車解壓 發布:2025-01-10 21:11:01 瀏覽:932
安卓是哪裡出產 發布:2025-01-10 21:10:23 瀏覽:953
本科來了安卓版叫什麼 發布:2025-01-10 21:08:43 瀏覽:649
南京c語言 發布:2025-01-10 20:55:08 瀏覽:466
如何excel設置密碼保護 發布:2025-01-10 20:50:07 瀏覽:994
桌面文件限制存儲大小 發布:2025-01-10 20:28:45 瀏覽:79
安卓車機怎麼把應用放界面 發布:2025-01-10 20:28:36 瀏覽:679
減演算法小學 發布:2025-01-10 20:22:41 瀏覽:799
ig源碼網 發布:2025-01-10 20:20:04 瀏覽:420