php模板網站
❶ php程序的網站,模版在哪裡
問題比較籠統呀
你先說清楚你用的什麼框架,ThinkPhp?
應該是了,用的比較多。MVC模式的
模型就是moudle了,去Model文件夾找;
控制器就是controller,也就是存入類文件的;
視圖就是View,就是頁面;
❷ 如何使用php網站模板
這問的太廣泛了
❸ 做個網站(php的),用許多的頁面有相同的部分,如導航條之類的,想做個模板,問下怎麼做,怎麼載入
可以在php中先:
include($tpl->template('滑嫌唯moban.html'));
然後再再php中載入個Template.php 就可以了。
Template.php 代碼如下:
<?php
class Template
{
public $templateDir = 'templates';
public $leftTag = '{';
public $rightTag = '}';
public $compileDir = 'cache';
public $compiledFileExt = '.TemplateCompiled.php';
public $templateFileExt = '.html'; //當display() cache() 不使用參數時使用
public $caching = false;
public $cacheDir = 'cache';
public $cacheDirLevels = 0; /者跡/信培緩存目錄層次
public $cacheFileExt = '.TemplateCache.php';
public $cacheLifeTime = 3600; // 單位 秒
public $cacheID;
public $forceCompile = false;
public $lang=array();
private $cacheFile; //緩存文件,在_saveCache()中使用
private $realCacheID; //通過計算得出的緩存ID
const MAX_CACHE_DIR_LEVELS=16; //最大緩存目錄層次數量
public function __construct($arrConfig = array())
{
foreach ($arrConfig as $key=>$val) {
$this->$key = $val;
}
if ($this->cacheDirLevels>self::MAX_CACHE_DIR_LEVELS) {
$this->cacheDirLevels=self::MAX_CACHE_DIR_LEVELS;
}
}
/**
* 判斷緩存文件是否有效
*
* @param string $file
* @param string $cacheID
* @return boolean
*/
public function cached($file='',$cacheID='')
{
$file=$this->getTemplateFile($file);
$this->cacheID=$cacheID;
$cachefile=$this->getCacheFileName($file,$cacheID);
if ($this->caching && is_file($cachefile) && (filemtime($cachefile)+$this->cacheLifeTime)>time()) {
return true;
} else {
return false;
}
}
/**
* 返回模板文件完整路徑
*
* @param string $file
* @return string
*/
private function getTemplateFile($file='')
{
if (!strlen($file)) {
$file=App::$controller.'_'.App::$action.$this->templateFileExt;
}
return $file;
}
/**
* 獲取緩存文件完整路徑
*
* @param string $file
* @param string $cacheID
* @return string
*/
private function getCacheFileName($file,$cacheID)
{
if (!strlen($this->realCacheID)) {
$this->realCacheID=$cacheID!=''?$cacheID:$_SERVER['SCRIPT_NAME'].$_SERVER['QUERY_STRING'];
$this->realCacheID.=$this->templateDir.$file.APP_NAME;
}
$md5id=md5($this->realCacheID);
$this->cacheDirLevel=$this->getCacheDirLevel($md5id);
return $this->cacheDir.$this->cacheDirLevel.'/'.$md5id.$this->cacheFileExt;
}
/**
* 獲取緩存目錄層次
*
*/
private function getCacheDirLevel($md5id)
{
$levels=array();
$levelLen=2;
for ($i=0; $i<$this->cacheDirLevels; $i++) {
$levels[]='TepmlateCache_'.substr($md5id,$i*$levelLen,$levelLen);
}
return !count($levels) ? '' : '/'.implode('/',$levels);
}
/**
* 在$this->compile()中替換$foo.var為數組格式$foo['var']
*
*/
private function compile_replace($str)
{
$str=preg_replace('/(\$[a-z_]\w*)\.([\w]+)/',"\\1['\\2']",$str);
return $this->leftTag.$str.$this->rightTag;
}
/**
* 編譯模板文件
*
* @param string $file
* @return string
*/
private function compile($file='')
{
$file=$this->getTemplateFile($file);
$fullTplPath=$this->templateDir.'/'.$file;
$compiledFile=$this->compileDir.'/'.md5($fullTplPath).$this->compiledFileExt;
if ($this->forceCompile || !is_file($compiledFile) || filemtime($compiledFile)<=filemtime($fullTplPath)) {
$content=file_get_contents($fullTplPath);
$leftTag=preg_quote($this->leftTag);
$rightTag=preg_quote($this->rightTag);
$search=array(
'/'.$leftTag.'include ([\w\.\/-]+)'.$rightTag.'/i', //導入子模板
'/'.$leftTag.'(\$[a-z_]\w*)\.(\w+)'.$rightTag.'/i', //將模板標簽{$foo.var}修改為數組格式{$foo['var']}
'/'.$leftTag.'(.+?\$[a-z_]\w*\.\w+.*?)'.$rightTag.'/ie', //將模板標簽中的$foo.var修改為數組格式$foo['var']
'/'.$leftTag.'(else if|elseif) (.*?)'.$rightTag.'/i',
'/'.$leftTag.'for (.*?)'.$rightTag.'/i',
'/'.$leftTag.'while (.*?)'.$rightTag.'/i',
'/'.$leftTag.'(loop|foreach) (.*?) as (.*?)'.$rightTag.'/i',
'/'.$leftTag.'if (.*?)'.$rightTag.'/i',
'/'.$leftTag.'else'.$rightTag.'/i',
'/'.$leftTag."(eval) (.*?)".$rightTag.'/is',
'/'.$leftTag.'\/(if|for|loop|foreach|while)'.$rightTag.'/i',
'/'.$leftTag.'((( *(\+\+|--) *)*?(([_a-zA-Z][\w]*\(.*?\))|\$((\w+)((\[|\()(\'|")?\$*\w*(\'|")?(\)|\]))*((->)?\$?(\w*)(\((\'|")?(.*?)(\'|")?\)|))){0,})( *\.?[^ \.]*? *)*?){1,})'.$rightTag.'/i',
'/'.$leftTag.'\%([\w]+)'.$rightTag.'/', //多語言
);
$replace=array(
'<?php include($tpl->template("\\1"));?>',
$this->leftTag."\\1['\\2']".$this->rightTag,
"\$this->compile_replace('\\1')",
'<?php }else if (\\2){ ?>',
'<?php for (\\1) { ?>',
'<?php $__i=0; while (\\1) {$__i++; ?>',
'<?php $__i=0; foreach ((array)\\2 as \\3) { $__i++; ?>',
'<?php if (\\1){ ?>',
'<?php }else{ ?>',
'<?php \\2; ?>',
'<?php } ?>',
'<?php echo \\1;?>',
'<?php echo $this->lang["\\1"];?>',
);
$content=preg_replace($search,$replace,$content);
file_put_contents($compiledFile,$content,LOCK_EX);
}
return $compiledFile;
}
/**
* 根據是否使用緩存,輸出緩存文件內容
*
* @param string $tplFile
* @param string $cacheID
*/
public function cache($tplFile,$cacheID='')
{
$this->cacheID=$cacheID;
$cacheFile=$this->getCacheFileName($file,$cacheID);
if ($this->cached($file,$cacheID)) {
readfile($cacheFile);
exit;
} elseif ($this->caching) {
ob_start(array(&$this,'_saveCache'));
$this->cacheFile=$cacheFile;
}
}
/**
* 返回編譯後的模板文件完整路徑
*
* @param string $file
* @return string
*/
public function template($file='')
{
$file=$this->getTemplateFile($file);
return $this->compile($file);
}
/**
* 回調函數,供cache()函數使用
*
* @param string $output
* @return string
*/
public function _saveCache($output)
{
$cacheDir=$this->cacheDir.$this->cacheDirLevel;
is_dir($cacheDir) or mkdir($cacheDir,0777,true);
file_put_contents($this->cacheFile,$output,LOCK_EX);
return $output;
}
}//end class
❹ 怎麼用php模板搭建網站
1:首先看使用的模版是哪種CMS的
2:蔽粗枝織夢的凳雹(dede)?帝國的?eshop?或者是其他的CMS
3:找到對應的CMS程序宏敏
然後下載相應的CMS程序安裝就可以了
❺ 現在有一個HTML的網頁,要怎麼變成模板,用php把這個網站搭建出來
如果要把html轉成cms模板,那是仿站的過程,比直接從千站素材下載模板復雜的多。原理大致為對html網頁根據CMS系統程序的不同,對模板標簽的定義改造:
比如有些模板用${news[1,2,3,3]}有的類似 {FS_新聞列表}
等形式,樓主應該根據CMS程序的使用說明,了解模板標簽,在你的頁面中插入相應的標簽後,將代碼復制到程序模板目錄或後台..
❻ 用PHP製作靜態網站模板,什麼是PHP呀,請指教!
這是一個用模板生成HTML的實例,自己摸索一下.
<?php
require('smarty/Smarty.class.php');
$t = new Smarty;
$t->assign("title","Hello World!");
$content = $t->fetch("templates/index.htm");
//這里的 fetch() 就是獲取輸出內容的函數,現在$content變數裡面,就是要顯示的內容了
$fp = fopen("archives/2005/05/19/0001.html", "w");
fwrite($fp, $content);
fclose($fp);
?>
什麼是衫和PHP...
PHP是一個基於服務端來創建動態網站的腳本語言,您可以用PHP和HTML生成網站主頁。當一個訪問者打差乎開主頁時,服務端便執行PHP的命令並將執行結果發送至訪問者的瀏覽器中,這類似於ASP和CoildFusion,然而PHP和他們不同之處在於PHP開虛塌悉放源碼和跨越平台,PHP可以運行在WINDOWS NT和多種版本的UNIX上。它不需要任何預先處理而快速反饋結果,它也不需要mod_perl的調整來使您的伺服器的內存映象減小。PHP消耗的資源較少,當PHP作為Apache Web伺服器一部分時,運行代碼不需要調用外部二進製程序,伺服器不需要承擔任何額外的負擔。
❼ 用PHP製作靜態網站的模板框架(二)
PHP代碼全部保存到單獨的文件中,這個文件也就是由頁面URL實際調用的文件。Web伺服器通過PHP引擎解析該文件,然後把結果返回給瀏覽器。一般地,PHP代碼總是動態地生成頁面內容,比如查詢資料庫或者執行某種計算等。下面是一個例子:
<?php
//
example.php
require('class.FastTemplate.php');
$tpl
=
new
FastTemplate('.');
$tpl->define(
array(
'main'
=>
'main.htm',
'header'
=>
'header.htm',
'leftnav'
=>
'leftnav.htm'
)
);
//
此處的PHP代碼設置$content使其包含合適的頁面內容
$tpl->assign('CONTENT',
$content);
$tpl->parse('HEADER',
'header');
$tpl->parse('LEFTNAV',
'leftnav');
$tpl->parse('MAIN',
'main');
$tpl->FastPrint('MAIN');
?>
這里我們使用的是流行的FastTemplate模板類,但其基本思路對於其他許多模板類來說都一樣。首先你實例化一個類,告訴它到哪裡去尋找模板文件以及哪一個模板文件與頁面的哪部分對應;接下來是生成頁面內容,把結果賦予內容的標識符;然後,依次解析各個模板文件,模板類將執行必要的替換操作;最後把解析結果輸出到瀏覽器。
這個文件完全由PHP代碼構成,不包含任何HTML代碼,這是它最大的優點。現在,PHP程序員可以集中精力編寫生成頁面內容的代碼,而不必為了如何生成HTML去正確地格式化最終頁面而擔心。
你可以使用這種方法和上面的文件構造出一個完整的網站。如果PHP代碼是以URL中的查詢字元串為基礎生成頁面內容,例如http://www.foo.com/example.php?article=099,你可以據此構造出一個完整的雜志網站。
很容易看出採用模板還有第二個好處。如上例所示,頁面左邊的導航條單獨保存為一個文件,我們只需編輯這一個模板文件就可以改變網站所有頁面左邊的導航條。
❽ 如何使用PHP網站模板
看smarty手冊
❾ 用PHP模板做的網站,如何上傳到租用的萬網空間伺服器上
1、找你空間服務商,給你一個FTP地址。
2、下載一個FTP工具,通常用Flashfxp
或
LeapFTP,個人認為Flashfxp比LeapFTP好用。
3、打開FTp軟體。出現一個界面。當然,兩個界面有所不同,但都大同小異。
4、找開菜單欄的「站點」,打開,選擇「新建站點」。
5、輸入空間服務商給你的FTP用戶名和密碼。
6、連接。(找到wwwroot或web文件夾,通常為這兩個,打開它。如果是首次上偉可以把裡面的文件全刪除掉)
連接成功後會分為左右兩個界面(一個為本地瀏覽器,一個為FTP瀏覽器)。然後在本地瀏覽器找到你需要上傳的文件。選中。可以全選,右鍵,這時會出現一個菜單。你再點傳送即可。
如果發現有文件在上傳過程中丟失,可以點傳送,再選擇續傳。Flashfxp 比
LeapFTP較方便。
剩下的自己去摸索吧。
謝謝
❿ 前端模板、後台模板和PHP源碼功能demo下載的網站都有哪些好的呢,PHP100、erdangjiade、兄弟連還有哪些
還有thinkphp官網,或者一些其他的培訓PHP的,網站都是可以下載到的。