phpcms学习笔记
【SEO培训笔记】PHPcmsV9基本操作及seo优化
二 phpcms后台基本操作
(三)内容页标签修改
由于内容页头部调用了header文件,纵然修改了header文件解决了栏目 自动调用首页title全部文字的问题,也解决了内容页自动调用首页title
全部文字的问题,但内容页自动调用所在栏目title全部文字的问题没
有解决 1.在content中复制header文件并命名为“header_1.html”,创建一个新 的模板文件 2.打开“header_1.html”,修改title标签为:<title>{$title}_思百授</title> 3. 修改content中show.html模板第一行,{template "content","header"}改 成{template "content","header_1"}
二 phpcms后台基本操作
(四)URL命名规则的修改 1.去掉URL中文件目录前面的“html” 1.1 生成HTML设置里面的是否生成到根目 录选择否 1.2.修改配置文件。找到 \caches\configs\system.php 找到 “html_root”这一项,然后把/html这个
字符串删除即可。更新缓存,这样再新
细节基础知识: 1.默认的管理地址是 域名/admin.php 2.默认后台账户和密码都是phpcms 3.安装是 域名/install,有时数据上传后直接访问域名也可 4.V9版默认数据库表前缀是v9 5.数据库文件默认保存地址caches\bakup\default
一 phpcms的各个文件夹的作用
PHPcms V9的title规则修改
一 phpcms的各个文件夹的作用
PHPCMS代码解读
--------------------PHPCMS学习记录------------从index.php开始解读代码:总共3行代码,完成了很多事。
define('PHPCMS_PA TH', dirname(__FILE__).DIRECTORY_SEPARATOR);include PHPCMS_PATH.'/phpcms/base.php';pc_base::creat_app();第一句,定义phpcms站点根目录PHPCMS_PA TH,注意这里定义的目录常量不是服务器根目录,而是phpcms系统的根目录。
_FILE_返回当前文件的绝对路径,dirname(_FILE_)则可以取得当前文件的绝对目录;DIRECTORY_SEPARATOR显示当前系统的分隔符;第二句,引入一个base.php文件,定义了一个pc_base类,从字面意思上可以看出这应该是个基础类,事实亦如此。
根据下文猜想pc应该是phpcms的缩写。
引入文件的时候完成了一些基础常量的定义和公用函数库的加载等基础配置。
第三句,这句代码完成了系统的初始化,非常强大!下面细细道来它的强大之处:先来看这个creat_app()方法,定义如下:public static function creat_app() {return self::load_sys_class('application');}那么又来看load_sys_class()方法:public static function load_sys_class($classname, $path = '', $initialize = 1) {return self::_load_class($classname, $path, $initialize);}接下来是_load_class()方法:private static function _load_class($classname, $path = '', $initialize = 1) {static $classes = array();if (empty($path)) $path = 'libs'.DIRECTORY_SEPARA TOR.'classes';$key = md5($path.$classname);if (isset($classes[$key])) {if (!empty($classes[$key])) {return $classes[$key];} else {return true;}}if (file_exists(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) { include PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php';$name = $classname;if ($my_path = self::my_path(PC_PATH.$path.DIRECTORY_SEPARATOR.$classname.'.class.php')) {include $my_path;$name = 'MY_'.$classname;}if ($initialize) {$classes[$key] = new $name;} else {$classes[$key] = true;}return $classes[$key];} else {return false;}}颠来倒去的一大堆,实际就是加载类函数并实例化这个类,但是值得赞赏和学习的是这个函数逻辑之严密,由此phpcms框架的成熟性可见一斑。
phpcms笔记
body{text-align:center;}#whole{whith:700px;text-align:left;margin:0px auto;}1.新建模板方案:在C:\wamp\www/phpcms\templates目录下,讲default复制粘贴,然后重命名为double,登录后台,讲double设置为默认,2.将静态网页用到的图片以及样式表文件复制粘贴到C:\wamp\www/phpcms\templates\double\skins\default。
3.将静态页代码分成三部分,页头、页脚和主题福分。
将代码分别复制到后台的header.html、footer.html和index.html.4.样式不好用:在index.css前面加上{SKIN_PATH}5.图片不好用,在{SKIN_PATH}images前加入{SKIN_PATH}6.导航栏不好用,(1)把源代码改成如下样式。
<li ><a href="{SITE_URL}xiaoyuan">校园</a></li><li ><a href="index3.html">双师教师培训</a></li>(2)把拷贝复制的代码里header文件里的<ul><li><a href="" id="menu_phpcms"><span>首页</span></a></li>{tag_一级栏目}</ul>替换后台里的header文件里的《ul》列表导航栏的文件7.子栏目页头不和首页一样,也就是导航栏目页不显示.将拷贝出去的header文件里的<base href="{SITE_URL}" />复制到后台header文件里<title>双师双证</title>后面,样式的前面8.子栏目出现乱码,将后台header文件里的charset=utf-8改成gb2312。
PHP培训函数系统课堂笔记
文件系统1.什么是文件系统?a)文件系统知识PHP知识的一个完整模块而已对所有的文件进行任何操作都需要文件系统相关的函数学习文件系统学习操作文件的函数文件的操作创建文件touch(‘创建的文件名’)移动文件rename(‘当前目录文件’,‘目标目录文件’);删除文件unlink(‘文件名’);复制文件copy(‘要复制的文件’,‘复制到那个位置’);注意:复制的时候可以更改文件名重命名文件:也用移动文件函数来做Rename(‘当前目录文件’,’要更改的新名‘);注意:所有的文件操作,一定要有PHP执行这个文件的权限。
在WINDOWS涉及不到,linux下要注意。
以上所有函数成功返回true 失败返回false2.文件的打开和关闭a)Fopen --打开文件或者URLb)Fclose();关闭文件c)注意:fclose传入的参数为使用fopen打开的资源跟文件相关的函数Filesize();获取文件大小Is_file();判断是否是文件File_exists();判断文件是否存在Is_readable();判断文件是否可读Is_writable();判断文件是否可写Is_executable();判断文件是否可以执行Filectime()获取文件的创建时间Fileatime()获取文件的上次访问时间Filemtime() 获取文件的修改时间。
预习:文件的读和写操作实现:在线留言板自己回去找函数看。
目录的操作:打开目录:opendir关闭目录closedir读取目录readdir删除目录rmdir返回目录名称diranme获取文件名basename()返回路径信息pathinfo()创建目录mkdir()作业:课堂代码3遍。
万年历手写2遍,要求行行注释。
主要为文件系统的函数错误日志里面的set_error_handler对于错误系统,自己尝试操作两边。
即可。
CMS学习笔记
[field:pubdate function="Mydate('m-d',@me)"/] 或者m月d日
m:%Y:年 %m:月 %d:日 %H:小时 %m:分钟 %s:秒数
可以去掉%
小写y只取年份的后两位 分 秒 大写的则为英文
别的页面(列表页,封面页,内容页):typeid不可以少,要整站调用typeid应包括所有的频道ID
{dede:arclist row=10 typeid='1,2,3,4'}
.<a href="[field:arcurl/]">[field:title/]</a>
{/dede:arclist}
[field:pubdate function="GetDateTimeMK(@me)"/]
列表分页标记调用方式:
{dede:pagelist listitem="index,pre,pageno,next,end" listsize='5' /}
listsize 表示 [1][2][3] 这些项的长度 x 2
config.cahe.inc.php:系统基本参数
config.cache.bak.php:系统基本参数的备份,可以用于恢复系统
dede:后台管理页面
a:静态文件目录,我们自己添加的文章之类的东西存放的地方,可以删除,通过在后台修改
images:图片目录
调用方法同上
3.引入”顶一下“这些插件
把所要添加的插件所在的默认模板中的相关JavaScript及HTML代码进入自定义模板中
php重要知识点总结(PHP网络开发必背)
PHP网站开发必用知识点总结,函数一览,开发必背魔术方法__construct()当实例化一个对象的时候,这个对象的这个方法首先被调用。
__destruct()当删除一个对象或对象操作终止的时候,调用该方法。
__get()当试图读取一个并不存在的属性的时候被调用。
__set() 当试图向一个并不存在的属性写入值的时候被调用。
__call() 当试图调用一个对象并不存在的方法时,调用该方法。
__toString() 当打印一个对象的时候被调用__clone()当对象被克隆时,被调用__isset()__unset()__autoload($classname)__sleep()__wakeup()系统常量__FILE__ 当前文件名__LINE__ 当前行数__FUNCTION__ 当前函数名__CLASS__ 当前类名__METHOD__ 当前对象的方法名PHP_OS 当前系统PHP_VERSION php版本DIRECTORY_SEPARATOR 根据系统决定目录的分隔符/\PATH_SEPARATOR 根据系统决定环境变量的目录列表分隔符; :E_ERROR 1E_W ARNING 2E_PARSE 4E_NOTICE 8M_PI 3.141592$_SERVER$_ENV 执行环境提交至脚本的变量$_GET$_POST$_REQUEST$_FILES$_COOKIE$_SESSION$_GLOBALS输出echo //Output one or more stringsprint //Output a stringprint_r()//打印关于变量的易于理解的信息。
var_dump()//打印变量的相关信息var_export()//输出或返回一个变量的字符串表示printf("%。
1f”,$num) //Output a formatted stringsprintf()//Return a formatted string编码转换string mb_convert_encoding (string $str , string $to_encoding [, mixed $from_encoding ] )iconv();时间date_default_timezone_set(”PRC”);date(”Y-m—d H:i:s");time();date("Y—m-d H:i:s”,time()+3600)ini_set(’date.timezone’, ’PRC');msec sec microtime()以秒返回时间戳explode(’', microtime())错误处理@1/0error_reporting(E_ALL) 显示所有错误error_reporting(0)trigger_error("Cannot divide by zero”, E_USER_ERROR);try{throw new Exception(”执行失败”);}catch (Exception $ex){echo $ex;}字符串处理string trim("eee ") trim (’ffffe','e') //ltrim rtrimarray explode(”.”,”fff.ff.f") 按指定字符切割string implode(".",$array)别名:join 把数组值数据按指定字符连接起来array str_split(”eeeeeeee”,4)按长度切割字符串array split("—”,"fff—ff-f”)按指定字符切割int strlen('ffffffff’)取字符长度string substr ( string $string , int $start [,int $length ] )substr($a,-2,2) 截取字符int substr_count($text,'is')字符串出现的次数string strstr($text,’h’) 第一次出现h后的字符串//别名:strchrint strpos($text,'h’)第一次出现h的位置strrpos();最后一次出现h的位置str_replace(’a', ’ttt',$t) 把$t里的'a'替换为'ttt'strtr($t,'is’,’ppp’) 把$t中’is'替换成’ppp'strtr("hi all,I said hello",array("hello" => "hi"))把’hello'转换成'hi’string md5_file(’1.txt',false) 文件数据md5加密int strcmp(string str1, string str2)字符串比较int strcasecmp(string str1,string str2) 忽略大小写string str_pad($i, 10,”-=”,STR_PAD_LEFT) 在原字符左边补'-=’,直到新字符串长度为10STR_PAD_RIGHTSTR_PAD_BOTHstring str_repeat(’1',5) 重复5个1void parse_str('id=11');echo $id;将字串符解析为变量array preg_grep(”/^(\d+)?\。
php学习心得范文总结(五篇)实用
php学习心得范文总结(五篇)【实用】篇一: PHP学习心得学习PHP是我自从大学开始的一个持续的过程,最初是从新手入门,逐渐深入地掌握和理解它。
这段时间里,我发现了许多有用的东西,学习PHP 有助于实现我的目标,使我能够更好地运用编程语言来创建有用的应用程序。
首先,学习PHP帮助我更好地理解其他编程语言,比如C和Java,因为它们都是类似的。
学习PHP让我可以更好地理解其他编程语言,更容易上手。
同时,PHP还提供了一些非常方便的函数,可以用来实现一些常规的功能,这让我可以把注意力集中在具体的问题上,而不必浪费大量的时间在繁琐的编码上。
此外,学习PHP也让我更好地了解web开发。
它可以让我以更简单的方式访问数据库,而不必用复杂的SQL语句去查询。
同时,PHP也可以用来创建动态的网站,这让我可以利用它来创建一些有用的网站,比如电子商务网站、招聘网站等。
总之,学习PHP可以让我逐渐掌握编程语言,并更好地了解web开发,这也让我可以创建有用的应用程序。
篇二: PHP学习心得自从大学开始,我就开始学习PHP,从一开始的新手入门到深入掌握,这个过程中,我发现了很多有用的东西,学习PHP可以帮助我实现自己的目标,使我有能力用编程语言来创建有用的应用程序。
首先,学习PHP有助于更好地理解其他编程语言,比如C和Java,因为它们都是类似的。
学习PHP让我可以更容易上手,更方便地理解其他编程语言。
另外,PHP还提供了一些方便的函数,可以用来实现一些常见的功能,让我不必花费大量的时间在繁琐的编码上,而是可以将注意力集中在具体问题上。
此外,学习PHP也让我更好地了解web开发,因为它可以让我以更简单的方式访问数据库,而不用写复杂的SQL 语句。
同时,PHP也可以用来创建动态的网站,这让我可以利用它来创建一些有用的网站,比如电子商务网站、招聘网站等。
总的来说,学习PHP可以让我逐渐掌握编程语言,并且可以更好地了解web开发,这也让我可以创建有用的应用程序。
php学习干货知识点-提高PHP代码的质量
php学习干货知识点-提升PHP代码的质量1、不要应用绝对门路遴选是应用绝对门路:define("ROOT" , "/var/www/project/");require_once(ROOT 。
"。
/。
/lib/some_class。
php");我们界说了一个绝对门路,值被写死了。
我们还能够或许改良它。
门路 /var/www/project 也大概会篡改,那末我们每次都要篡改它吗? 不是的,我们能够或许应用__FILE__常量,如:define("ROOT" , pathinfo(__FILE__, PATHINFO_DIRNAME));require_once(ROOT 。
"。
/。
/lib/some_class。
php");2、不要间接应用 require, include, include_once,required_once能够或许在剧本头部引进多个文件,像类库,对象文件和副手函数等,如:require_once("lib/Database。
php");require_once("lib/Mail。
php");require_once("helpers/utitlity_functions。
php");3、为应用保留调试代码在开辟情况中,我们打印数据库查问语句,转存有疑难的变量值,而一旦疑难处置,我们正文或删去它们。
然则异常好的做法是保留调试代码。
define("ENVIRONMENT" , "development");if(! $db->query( $query ){if(ENVIRONMENT == "development"){echo "$query failed";}else{echo "Database error。
PHP学习笔记、PHP实例
PHP高级编程第一章:Php高级语法 (2)Php Date() (2)PHP引用文件 (3)Php文件处理 (7)PHP文件上传 (10)PHP Cookies (14)PHP Sessions (17)Php mail()函数 (20)PHP安全的电子邮件 (22)Php错误处理 (26)PHP异常处理 (32)PHP过滤器 (41)第二章:Php数据库操作 (49)PHP MySQL连接数据库 (49)PHP MySQL创建数据库和表 (50)PHP MySQL Insert Into (55)PHP MySQL Select (57)PHP MySQL Where子句 (60)PHP MySQL Order By关键词 (61)PHP MySQL Update (63)PHP MySQL Delete From (65)PHP Database ODBC (66)第一章:Php高级语法Php Date()PHP的date()函数用于格式化时间或日期。
PHP Date()函数PHP Date()函数可把时间戳格式化为可读性更好的日期和时间。
语法date(format,timestamp)参数描述format必需。
规定时间戳的格式。
timestamp可选。
规定时间戳。
默认是当前的日期和时间。
PHP日期-什么是时间戳(Timestamp)?时间戳是自1970年1月1日(00:00:00GMT)以来的秒数。
它也被称为Unix时间戳(Unix Timestamp)。
PHP日期-格式化日期date()函数的第一个参数规定了如何格式化日期/时间。
它使用字母来表示日期和时间的格式。
这里列出了一些可用的字母:•d-月中的天(01-31)•m-当前月,以数字计(01-12)•Y-当前的年(四位数)您可以在我们的PHP Date参考手册中,找到格式参数中可以使用的所有字母。
可以在字母之间插入其他字符,比如"/"、"."或者"-",这样就可以增加附加格式了:<?phpecho date("Y/m/d");echo"<br/>";echo date("Y.m.d");echo"<br/>";echo date("Y-m-d");?>以上代码的输出类似这样:2006/07/112006.07.112006-07-11PHP日期-添加时间戳date()函数的第二个参数规定了一个时间戳。
学习phpcms新手文档_最新资料_建站_容易上手_免费phpcms教程文档
<?php学习phpcms菜鸟第一课:------------安装phpcms和后台访问管理----------------------------------------------------------------------------------制作良好习惯:1、备份2、随时保存3、注释step1:在自己的PHP环境中,建立一个文件夹phpcmsnotice:(1)访问安装://localhost/phpcms(2)全新安装PHPCMS V9 (含PHPSSO)step2:安装完成之后:*安装完毕请登录后台生成首页,更新缓存*默认phpcms管理员密码与phpsso管理员密码相同〔就是phpcms〕*为了您站点的安全,安装完成后即可将网站根目录下的“install”文件夹删除。
【自动删除了!】进入后台的://localhost/phpcms/index.php?m=admin&c=index&a=login&pc_hash=也可直接输入://localhost/phpcms/admin.php----------------------------------------------------------------------------------------------学习phpcms菜鸟第二课:622188*************------------config配置文件修改--------------------------------------------------------------------------------修改路径:config 配置,修改\phpcms\templates\phpxxx\config.php〔phpxxx是自己定制的模版默认的是default〕default 改phpxx〔自己定制的模版〕templates|default|content 像这样的可以替换----------------------------------------------------------------------------------------------学习phpcms菜鸟第三课:------------头部和尾部的包含---------------------------------------------------------------------------------- 头部:{template "content","header"}翻译:引用content文件夹下的header.html尾部:{template "content","footer"}意思同上当然可以引用其他外部文件的:比方:{template "phpxx","header_xxx"}翻译:引用phpxxx文件夹下的header_xx.html phpcms是比较智能的,如果找不到对应的模板时候会有提示的:templates\xxxx\xxxx\header_xxxx.html is not exists!如果系统自己在你自己定制模板找不到,会自己去default默认模板去找----------------------------------------------------------------------------------------------学习phpcms菜鸟第四课:------------header.html头部文件的使用----------------------------------------------------------------------------------标题:<title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$SEO['site_title']}</title>$SEO['title']是我们在后台设置的网站标题,简单理解就是代号,做项目时候直接copy 就行了关键词:<meta name="keywords" content="{$SEO['keyword']}">网页描述:<meta name="description" content="{$SEO['description']}">关键词和网页描述同标题一样,你不需要懂得太多的东西,做网站时候直接copy下面是一些标签常量:{CSS_PATH}css文件的加载下面是对应的路径://localhost/testpcms/statics/css/{JS_PATH}js文件的加载://localhost/testpcms/statics/js/{IMG_PATH}图片文件的加载://localhost/testpcms/statics/images/{APP_PATH}网站路径://localhost/xxxx/{siteurl($siteid)}也是网站的路径〔不同的是是针对站群而言〕://localhost/testpcms/以上的标签常量你只要会在对应的位置copy就行了不需要了解太多原理TIP〔建议〕:我个人比较建议使用官方的标签常量,这样我们以后改版的时候会很轻松pc标签:{pc:content action="position" posid="9" order="id DESC" num="10" cache="3600"} <div id="announ"><ul>{loop $data $k $v}<li><a href="{$v[url]}">{$v[title]}</a></li>{/loop}</ul></div>{/pc}{pc:content 参数名="参数值" 参数名="参数值" 参数名="参数值"}{/pc}DESC是降序。
PHPCMS代码详细讲解
PHPCMS 整站代码分析讲解(一)首先我对PHPCMS 的头程序文件开始讲解: include/common.inc.php 这个文件是程序启动的核心文件.[Copy to clipboard][ - ] CODE:<?php/**代码讲解分析:逆雪寒. 2007 - 12 - 20*/$mtime = explode(' ', microtime());$phpcms_starttime = $mtime[1] + $mtime[0];/**计算脚本开始运行的时间。
很常见的写法。
最后结算还在程序运行的终点位置。
讲到了在给各位说。
*/unset($LANG, $_REQUEST, $HTTP_ENV_VARS, $HTTP_POST_VARS, $HTTP_GET_VARS,$HTTP_POST_FILES, $HTTP_COOKIE_VARS);/**把 $HTTP_ENV_VARS $HTTP_POST_VARS 全局变量设置为NULL 因为php4.1.0以上默认以$_POST 来替代。
unset后防止程序运行在低版本会出现安全等问题。
比如变量注入*/set_magic_quotes_runtime(0);//地球人都知道。
关了字符窜入库自动转意比如 my name is on'x 转成 my name is on \'x 为了最大的程序性能所以我们关掉吧~哈哈define('IN_PHPCMS', TRUE);/**程序入口标记。
为什么需要这个东西呢。
就好比你进一个小区,保安大哥哥肯定要你签字或是挂个鸟牌证明你是从正门进来的。
防止你翻墙进入去偷东西搞破坏。
这个入口标记也有这个功能。
在这里定义了一个常量IN_PHPCMS 为TRUE ,然后我在其他程序文件里面检查这个标记。
如果不存在或不为真,那么就基本可以肯定你这个家伙是个小偷来的。
PHP编程入门的基本语法知识点总结
PHP编程入门的基本语法知识点总结PHP编程入门的基本语法知识点总结想要学好PHP,怎么能够不了解基本的语法知识呢?下面是店铺为大家搜集整理出来的有关于PHP编程入门的基本语法知识点总结,一起来学习一下吧!一、何为phpPHP,即“PHP: Hypertext Preprocessor”,是一种被广泛应用的开源通用脚本语言,尤其适用于Web 开发并可嵌入HTML 中去。
它的语法利用了C、Java 和Perl,易于学习。
该语言的主要目标是允许 web 开发人员快速编写动态生成的 web 页面,但 PHP 的用途远不只于此。
简单来说,就是php是一种脚本语言,可以做很多事情。
①服务器端脚本②命令行脚本③编写桌面程序二、开始php(1)下载php解释器,其实win下面,最简单的还是wamp这个软件,下载下来什么都有了...(2)win下面貌似还需要,mscvr110.dll 这个链接库,vc2012运行库,安装即可(3)ide,无耻的使用了phpStorm,等哥有钱了一定给你补回来, so...三、入门引导(1)简单的输出34567891011121314151617181920 * Created by PhpStorm. * User: LENOVO * Date: 2014/9/28 * Time: 14:51 */ // 输出PHP 详细信息 echo phpinfo(); //C:php-5.6.1-Win32-VC11-x86php.exe D:dizzyphp_testindex.php //phpinfo() //PHP Version => 5.6.1 // //System => Windows NT LENOVO-PC 6.1 build 7600 (Windows 7 Ultimate Edition) i586 //Build Date => Sep 24 2014 18:54:12 //Compiler => MSVC11 (Visual C++ 2012)//Architecture => x86//Configure Command => cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:php-sdkoraclex86instantclient_12_1sdk,shared" "--with-oci8-12c=c:php-sdkoraclex86instantclient_12_1sdk,shared""--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo"//Server API => Command Line Interface(2)简单的表单处理四、基本语法(1)PHP 标记(2)从HTML 中分离(3)指令分隔符,注释PHP 需要在每个语句后面用分隔符结束指令。
phpcms笔记
phpcms笔记PHPcms是一款基于PHP语言开发的内容管理系统,它具有易用性、高效性和可扩展性等优点,被广泛应用于各种网站的建设和管理中。
一、PHPcms的特点1.易用性:PHPcms采用了模板化的设计思路,使得用户可以通过简单的操作完成网站的建设和管理。
2.高效性:PHPcms采用了缓存技术和静态化技术,使得网站的访问速度得到了极大的提升。
3.可扩展性:PHPcms提供了丰富的插件和模块,用户可以根据自己的需求进行扩展和定制。
二、PHPcms的安装1.下载PHPcms:用户可以从PHPcms官网上下载最新版本的PHPcms。
2.解压PHPcms:将下载的PHPcms压缩包解压到本地目录中。
3.上传PHPcms:将解压后的PHPcms上传到服务器的网站根目录中。
4.设置数据库:在服务器上创建一个新的数据库,并将数据库信息填写到PHPcms的安装向导中。
5.安装PHPcms:按照安装向导的提示进行安装,安装完成后删除安装文件。
三、PHPcms的使用1.登录后台:在浏览器中输入网站地址后加上/admin,进入后台登录页面,输入用户名和密码即可登录。
2.添加内容:在后台管理界面中,选择“内容管理”->“添加内容”,填写相关信息即可添加内容。
3.添加栏目:在后台管理界面中,选择“栏目管理”->“添加栏目”,填写相关信息即可添加栏目。
4.修改模板:在后台管理界面中,选择“模板管理”->“模板编辑”,修改相应的模板文件即可。
四、PHPcms的优化1.优化数据库:定期清理无用数据,优化数据库表结构,可以提高网站的访问速度。
2.使用缓存:开启缓存功能,可以减少数据库的访问次数,提高网站的访问速度。
3.使用CDN:使用CDN可以将网站的静态资源分发到全球各地的服务器上,提高网站的访问速度。
4.使用压缩:使用Gzip压缩可以减少网站的传输数据量,提高网站的访问速度。
五、PHPcms的安全1.更新版本:及时更新PHPcms的版本,可以修复已知的漏洞,提高网站的安全性。
php学习笔记
PHP 学习笔记PHP 是一种被广泛使用的开源脚本语言;declare(encoding='UTF-8');//定义编码方式运行 PHP 工程(wampServer) : 1、 需要对应的 web 服务器 2、 安装 PHP 3、 安装数据库 Php 脚本可放置于文档中的任何位置; Php 脚本以<?php 开头,以 ?>结尾; 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大 小写不敏感。
但是所有定义的变量都对大小写敏感。
变量: 变量的声明用$标识符$str=”007”;,而且之后在使用变量的时候,标识符$不 能丢掉,因为已经成为一个整体了。
函数之外声明的变量拥有 Global (全局) 作用域,只能在函数以外进行访问。
函数内部声明的变量拥有 Local(局部) 作用域,能在函数以内进行访问。
但是如果想在函数内访问全局变量,那么就得在函数内变量前引用 global 关 键词,例如: $x=1;$y=2 function text(){ global $x,$y; $y=$x+$y; } 或者: function text(){ $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];//关联数组模式 } 因为在名为 $GLOBALS[index] 的数组中存储了所有的全局变量, 所以可以这样引 用。
常量: 常量的值在脚本中不能改变,而且在整个脚本中都能使用,常量名不用$修 饰符,常量的定义(定义时用双引号“”括起来):define(string constant_name, mixed value, case_sensitive = true)常量名 PHP 中 const 的使用以及与 define 的区别常量值是否大小写敏感1、 const 用于类成员变量定义, 一旦定义且不能改变其值。
phpcms v9学习文档
Phpcms v9学习手册1、添加全局变量我用了SKIN_JS、SKIN_CSS、SKIN_IMG来定义模板的三个文件夹,如果你不喜欢,修改文件中涉及的这三个变量名可自行修改。
第一步:打开phpcms\modules\admin\templates\setting.tpl.php搜索:$("#img_path").formValidator({onshow:"<?php echo L('setting_input').L('setting_img_path')?>",onfocus:"<?php echo L('setting_img_path').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_img_path').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",oner ror:"<?php echo L('setting_img_path').L('setting_end_with_x')?>"});复制代码在其后加入:$("#skin_js").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_js')?>",onfocus:"<?php echo L('setting_skin_js').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_skin_js').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerror :"<?php echo L('setting_skin_js').L('setting_end_with_x')?>"});$("#skin_css").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_css')?>",onfocus:"<?php echo L('setting_skin_css').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echo L('setting_skin_css').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerr or:"<?php echo L('setting_skin_css').L('setting_end_with_x')?>"});$("#skin_img").formValidator({onshow:"<?php echo L('setting_input').L('setting_skin_img')?>",onfocus:"<?php echo L('setting_skin_img').L('setting_end_with_x')?>"}).inputValidator({onerror:"<?php echoL('setting_skin_img').L('setting_input_error')?>"}).regexValidator({regexp:"(.+)\/$",onerr or:"<?php echo L('setting_skin_img').L('setting_end_with_x')?>"});复制代码搜索:<tr><th width="120"><?php echo L('setting_upload_url')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[upload_url]" id="upload_url" size="50" value="<?php echo $upload_url?>" /></td></tr>复制代码在其后加入:<tr><th width="120"><?php echo L('setting_skin_js')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_js]" id="skin_js" size="50" value="<?php echo $skin_js?>" /></td></tr><tr><th width="120"><?php echo L('setting_skin_css')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_css]" id="skin_css" size="50" value="<?php echo $skin_css?>" /></td></tr><tr><th width="120"><?php echo L('setting_skin_img')?></th><td class="y-bg"><input type="text" class="input-text" name="setconfig[skin_img]" id="skin_img" size="50" value="<?php echo $skin_img?>" /></td></tr>复制代码第二步:打开phpcms\modules\admin\functions\global.func.php搜索:if(in_array($k,array('js_path','css_path','img_path','attachment_stat','admin_log','gzip','err orlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth_key','phpsso_version','conne ct_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey'))) {复制代码改为(也就是添加了'skin_js','skin_css','skin_img',):if(in_array($k,array('js_path','css_path','img_path','skin_js','skin_css','skin_img','attachme nt_stat','admin_log','gzip','errorlog','phpsso','phpsso_appid','phpsso_api_url','phpsso_auth _key','phpsso_version','connect_enable', 'upload_url','sina_akey', 'sina_skey', 'snda_enable', 'snda_status', 'snda_akey', 'snda_skey', 'qq_akey', 'qq_skey'))) {复制代码第三步:打开phpcms\languages\zh-cn\ng.php搜索:$LANG['setting_upload_url'] = '附件URL访问路径';复制代码在其后加入:$LANG['setting_skin_img'] = '模板图片路径';$LANG['setting_skin_js'] = '模板JS路径';$LANG['setting_skin_css'] = '模板CSS路径';复制代码第四步:打开phpcms\base.php搜索:define('APP_PATH',pc_base::load_config('system','app_path'));复制代码在其后加入://模板js、css、img路径define('SKIN_JS',pc_base::load_config('system','skin_js'));define('SKIN_CSS',pc_base::load_config('system','skin_css'));define('SKIN_IMG',pc_base::load_config('system','skin_img'));2、分类信息列表页怎样实现各个栏目的各自的内容function structure_filters_sql($modelid,$cityid='',$catid) { //这里加上$catid $sql = $fieldname = $min = $max = '';$fieldvalue = array();$modelid = intval($modelid);$model = getcache('model','commons');$fields = getcache('model_field_'.$modelid,'model');$fields_key = array_keys($fields);//TODO$sql = "`status` = 99 AND `catid`='$catid'"; //这里也加上,单引变双引你有木有看见,99的反斜杠也不见if(intval($cityid)!=0) $sql .= ' AND `city`=\''.$cityid.'\'';foreach ($_GET as $k=>$r) {if(in_array($k,$fields_key) && intval($r)!=0 && ($fields[$k]['filtertype'] || $fields[$k]['rangetype'])) {if($fields[$k]['formtype'] == 'linkage') {$datas = getcache($fields[$k]['linkageid'],'linkage');$infos = $datas['data'];if($infos[$r]['arrchildid']) {$sql .= ' AND `'.$k.'` in('.$infos[$r]['arrchildid'].')';}} elseif($fields[$k]['rangetype']) {if(is_numeric($r)) {$sql .=" AND `$k` = '$r'";} else {$fieldvalue = explode('_',$r);$min = intval($fieldvalue[0]);$max = $fieldvalue[1] ? intval($fieldvalue[1]) : 999999;$sql .=" AND `$k` >= '$min' AND `$k` < '$max'";}} elseif($fields[$k]['boxtype']=='checkbox' || $fields[$k]['boxtype']=='multiple'){ //这里也改啦$sql .= " AND `$k` LIKE '%,$r,%'"; //为的是复选或多选的筛选} else {$sql .=" AND `$k` = '$r'";}}}return $sql;}复制代码前台调用就要改写了,如下:{php $sql = structure_filters_sql($modelid,$cityid,$catid)}还有,你不要手欠,把pc标签里catid="$catid"去掉,会出事的吆3、修复站群模式下子站点【栏目页】【内容页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题问题由来:原小波方案无效,请大家测试/forum.php?mod=viewthread&tid= 270400&highlight=%D5%BE%C8%BA我的修复如下:一、首先修复站群模式下子站点【栏目页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题(1.)打开phpcms\modules\admin\category.php找到函数repair436 行注释掉://$url = $this->update_url($catid);//$url = APP_PATH.$url;再下面添加代码://txb 修复站群模式下【栏目页】动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误问题本帖隐藏的内容$url = $this->update_url($catid);//cat 数组在前面foreach 处定义$txbsiteid=$cat['siteid'];$this->sitedb = pc_base::load_model('site_model');$siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid));$url = $siteinfo['domain'].$url;二、首先修复站群模式下子站点【内容页】采用动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误指向主站问题(1)、首先打开phpcms\modules\content\classes\url.class.php找到函数show()在91行左右注释掉原代码://txb 此处为原来代码,注释掉换成新修改的!// $url_arr[0] = $url_arr[1] = APP_PATH.$urls;在其下添加//txb 修复站群模式下【内容页】动态页面时候url 由于APP_PATH 问题导致的内容页url 域名错误问题本帖隐藏的内容//txb $category 数组入口处定义,已经获得某栏目siteid$txbsiteid=$category['siteid'];$this->sitedb = pc_base::load_model('site_model');$siteinfo=$this->sitedb->get_one(array('siteid'=>$txbsiteid));$url_arr[0] = $url_arr[1] = $siteinfo['domain'].$urls;最后在绑定的二级域名的根目录下加上index.php文件其内容是:(绑定的二级域名的目录在网站的根目录下)<?phpinclude '../index.php';?>或者是:(绑定的二级域名的目录在网站的默认html文件夹下的文件夹下)<?phpinclude '../../index.php';?>西部数码服务器学习链接:/faq/list.asp?unid=514。
phpcms 笔记
phpcms 笔记作为一款常用的内容管理系统,phpcms(即PHP Content Management System)在网站开发中具有广泛的应用。
同时,对于学习phpcms的人来说,积累一些phpcms笔记也是非常必要的。
下面,我们来介绍一些与phpcms相关的笔记内容。
1.安装phpcms- 下载最新版本phpcms。
- 解压并将文件上传至服务器。
- 进入“/install”目录,运行install.php文件。
- 根据安装向导进行步骤操作。
- 安装完成后删除“/install”目录。
2.后台管理- 登录后台管理页面:http://localhost/phpcms/index.php?m=admin&c=index&a=login。
- 点击左侧导航栏进入相应栏目进行管理。
- 用户管理可添加、修改和删除管理员账号。
- 内容管理可添加、修改和删除文章、图片、视频等素材。
- 设置管理可对网站信息、SEO等进行设置。
3.模板制作- 在“/template/default”目录下新建自定义文件夹。
- 将/system文件夹下相关页面拷贝到自定义文件夹。
- 在/template/default/content目录下新建自定义模板文件,并在后台内容管理中选择使用。
- 在自定义模板文件中使用phpcms提供的标签进行数据调用与呈现。
4.常用标签- 内容标签:{content}、{title}、{description}、{thumb}、{url}。
- 广告标签:{position}、{ad}。
- 栏目标签:{list}、{catid}、{catname}、{parentid}、{parentname}。
- 会员标签:{memberinfo}、{php}。
5.注意事项- 在phpcms中,函数和变量的命名规则较严格,需要遵循一定的规范。
- 开发过程中注意代码的可复用性、可维护性和安全性。
- php、JavaScript、HTML、CSS的运用要合理,不要过度使用。
PHP学习总结笔记
一、PHP概述二、PHP基础三、面向对象思想四、面向对象的PHP五、字符串和正则表达式六、PHP专题相关七、PHP常用API分类汇总八、MVC框架及模板九、PHP网站部署及安全十、PHP网站常见模块(非框架版)十一、PHP网站常见模块(TP框架版)十二、用PHP+Mysql构造网站系统案例(详细设计文档)一、PHP概述PHP(“PHP: Hypertext Preprocessor”,超文本预处理器的字母缩写)是一种被广泛应用的开放源代码的多用途脚本语言,它可嵌入到HTML中,尤其适合web 开发。
和客户端的JavaScript 不同的是,PHP 代码是运行在服务端的。
使用PHP 的一大好处是它对于初学者来说极其简单,同时也给专业的程序员提供了各种高级的特性。
PHP 主要是用于服务端的脚本程序,因此可以用PHP 来完成任何其它的CGI 程序能够完成的工作,例如收集表单数据,生成动态网页,或者发送/接收Cookies。
但PHP 的功能远不局限于此。
PHP 脚本主要用于以下三个领域:∙服务端脚本。
这是 PHP 最传统,也是最主要的目标领域。
开展这项工作需要具备以下三点:PHP 解析器(CGI 或者服务器模块)、web 服务器和web 浏览器。
需要在运行 web 服务器时,安装并配置 PHP,然后,可以用 web 浏览器来访问 PHP 程序的输出,即浏览服务端的 PHP 页面。
如果只是实验 PHP 编程,所有的这些都可以运行在自己家里的电脑中。
请查阅安装一章以获取更多信息。
∙命令行脚本。
可以编写一段 PHP 脚本,并且不需要任何服务器或者浏览器来运行它。
通过这种方式,仅仅只需要 PHP 解析器来执行。
这种用法对于依赖 cron(Unix 或者 Linux 环境)或者 Task Scheduler(Windows 环境)的日常运行的脚本来说是理想的选择。
这些脚本也可以用来处理简单的文本。
请参阅PHP 的命令行模式以获取更多信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.推荐位(网站顶部推荐)
{pc:content action="position" posid="9" order="id" num="10" cache="3600"}
<div id="announ">
<ul>
{loop $data $k $v}
<li><a href="{$v[url]}">{$v[title]}</a></li>
{/loop}
</ul>
</div>
{/pc}
2.Rss
<a href="{APP_PATH}index.php?m=content&c=rss&siteid={get_siteid()}" class="rss ib">rss</a>
3.注册、登录
<script type="text/javascript">document.write('<iframe src="{APP_PATH}index.php?m=member&c=index&a=mini&forward='+encodeURIComponent( location.href)+'&siteid={get_siteid()}" allowTransparency="true" width="500" height="24" frameborder="0" scrolling="no"></iframe>')</script>
4.搜索
<form action="{APP_PA TH}index.php" method="get" target="_blank">
<input type="hidden" name="m" value="search"/>
<input type="hidden" name="c" value="index"/>
<input type="hidden" name="a" value="init"/>
<input type="hidden" name="typeid" value="{$typeid}" id="typeid"/>
<input type="hidden" name="siteid" value="{$siteid}" id="siteid"/>
<input type="text" class="text" name="q" id="q"/><input type="submit" value="搜索" class="button" />
</form>
5.目录
{pc:content action="category" catid="0" num="25" siteid="$siteid" order="listorder ASC"} <ul class="nav-site">
<li><a href="{siteurl($siteid)}"><span>首页</span></a></li>
{loop $data $r}
<li class="line">|</li>
<li><a href="{$r[url]}"><span>{$r[catname]}</span></a></li>
{/loop}
</ul>
{/pc}
6.输出二级菜单
{if $top_parentid}
<div class="subnav">
{pc:content action="category" catid="$top_parentid" num="15" siteid="$siteid" order="listorder ASC"}
{loop $data $r}
<a href="{$r[url]}">{$r[catname]}</a><span> | </span>
{/loop}
{/pc}
{if $modelid}<a href="{APP_PATH}index.php?m=content&c=search&catid={$catid}">搜索</a>{/if} </div>
{/if}
7.首页头条推荐
{pc:content action="position" posid="2" order="listorder DESC" num="4"}
{loop $data $r}
<h4 class="blue"><a href="{$r[url]}" title="{$r[title]}">{str_cut($r[title],36,'')}</a></h4>
<p>{if $n==1}<img src="{thumb($r[thumb],90,60)}" width="90" height="60"/>{/if}{str_cut($r[description],112)}</p>
<div class="bk20 hr"><hr /></div>
{/loop}
{/pc}
.。