『壹』 php mysql的长连接和短连接

可以这样封装个函数
function login($a=false)
{
if(!$a)
{
$db=mysql_pconnect('localhost','user','pass');
}else
{
$db=mysql_connect('localhost','user','pass');
}
}
可以调用login()默认参数版为false 修改传递权的参数就行了

『贰』 如何创建网站

第一步:注册域名

第二步:购买服务器(虚拟主机)
第三步:选择一个适合自己的建站系统
第四步:通过FTP将建站系统上传到服务器安装好
第五步:管理网站、添加修改内容

『叁』 如何优化phpcms网站的文章链接


般蜘蛛在网站第一层到网站第三层会很好的抓取,对于后面的,抓取的效果不怎么好了,所以针对这个规则,我们在构建网站时,尽量减少路径的中间环节,尽量在
短时间内把最后一页的内容展示在蜘蛛眼前,其实这也有利于留住在你网站浏览网页的网友,因为谁也不愿意看一篇文章,点个四、五次都还看不到哈。
针对以上问题PHPCMS网站优化静态页面url生成可以好好的利用下。

首先,进入后台网站频道管理页面,就会看到下面这个图片的样式:

点用红色线条圈住的地方,进入每个频道的修改页面:

同样注意红色圈起的地方,这里就是本篇文章的重点了,你可以自己点一下每一行的下拉菜单,就会发现文章的路径各自不同,选择最短的,对搜索引擎是比较友好的:
最后,更新下缓存,就会发现,每一篇文章的路径从http:
//www.*********.com/agriculture/2008/0113/article_4627.html变成了http:
//www.********.com/agriculture/fenxiyuce_2245.html这样了,从原来的5级目录变成了3级目录,这
样,搜索引擎的蜘蛛在网站上爬行的时候就方便多了,也快多了。

『肆』 to4,cn/asxg,这是什么意思

这个是为了避免被某些软件屏蔽生成的一个短网址。

『伍』 php怎么将长的url转换成短的url

别把简单的问题复杂化。
代码随机生成字符串,存数据库(建议加redis层),值就是这个长链接。
用户访问短域名,通过key,拿到真实url地址,302跳转过去就行。
如果短域名和真实地址在同一台服务器上,也可以直接不动链接反向代理过去

『陆』 phpcms页面跳转

希望phpcms跟WordPress一样,能够在文章发布页面自定义url,从而提高SEO优化吗?phpcms V9版本默认是不支持自定义网址的,不过只要跟我一起稍微做下改动即可实现自定义url,甚至超过WordPress的固定连接功能。
添加字段
内容-模型管理-选择你要修改的模型,一般是文章模型,然后是字段管理,添加字段
作为主表字段,选择 是,非常重要,否则在批量生成url中会无法生成自定义字段
字段名为prefix 不建议修改,因为要跟后面的代码关联起来
字段别名为 html文件名 ,这个随意,好记即可
值唯一选 是,你不希望2篇文章的url是同一个吧,这样就会覆盖上一篇文章
其他保持默认即可
修改网址生成文件
打开/phpcms/moles/content/classes/url.class.php
大概在 67行 找到
$day = date("d",$time);

在其下方插入
$tmp_id = $content_ishtml && $prefix ? $prefix : $id; //增加自定义HTML文件名支持

代码大概的意思是,如果纯在字段prefix则使用该字段的值,如果不存在则直接显示文章ID
紧接着下一行的代码应该是
$urls = str_replace(array("{$categorydir}","{$catdir}","{$year}","{$month}","{$day}","{$catid}","{$id}","{$page}"),array($categorydir,$catdir,$year,$month,$day,$catid,$id,$page),$urlrule);

在第二个array中把$id替换成$tmp_id,完整代码如下
$urls = str_replace(array("{$categorydir}","{$catdir}","{$year}","{$month}","{$day}","{$catid}","{$id}","{$page}"),array($categorydir,$catdir,$year,$month,$day,$catid,$tmp_id,$page),$urlrule);

这样他就会判断,如果prefix的值存在则取该值,不存在还是用原来的文章ID,非常方便不是。
注意:该代码只有在纯静态下支持,在伪静态中暂时没有想到好的办法。如果把$tmp_id 这行中的 $content_ishtml && 删除,那么伪静态后的网页也是打不开的,因为动态网址后面跟的必须是文章ID,如果跟的是其他值就不存在该文章了。
修改生成HTML的文件
打开/phpcms/moles/content/create_html.php,找到代码
$urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime']);

共有三处,批量替换成
$urls = $this->url->show($r['id'], '', $r['catid'],$r['inputtime'],$r['prefix']);

因为PHPCMS生成内容HTML文件共有三处,所以上面的替换就有三处。
创建或编辑内容时会生成HTML
内容管理里下面有个“批量生成HTML”
发布管理的“批量更新内容”他又包含了先择模型生成和不选择模型生成
享受战果
后台-扩展-URL规则管理中,URL规则用 {$id} 即可,当prefix中有值,则文章url显示prefix的值,没有则调取默认的文章ID值。
补充
在定义$tmp_id之前加上以下代码
$prefix = str_replace(" ","-",$prefix);
$prefix = strtolower($prefix);

把空格转换成短横杠,你不希望把翻译好的英语词组之间的空格手动填写横杠来区分吧。
把大小字母转换成小写字母,网址中有大写字母总显得不太美观。
我新加的自定义字段,设置了判断唯一值。但是当我不想填写这个字段时,他也提示 重复。所以我想有没有办法让他判断,只有在非空值时才判断唯一值?
打开 /phpcms/moles/content/fields/content_input.class.php
查找
if($this->fields[$field]['isunique'] && $this->db->get_one(array($field=>$value),$field) && ROUTE_A != 'edit') showmessage($name.L('the_value_must_not_repeat'));

替换成
if($this->fields[$field]['isunique'] && $value && $this->db->get_one(array($field=>$value),$field) && ROUTE_A != 'edit') showmessage($name.L('the_value_must_not_repeat'));

如果我们希望实现在有prefix则调用prefix,无则用当前日期,该怎么办?
$diytime=date('YmdHi',$time);
$tmp_id = $content_ishtml && $prefix ? $prefix : $diytime; //增加自定义HTML文件名支持
$tmp_id = $content_ishtml && $tmp_id ? $tmp_id : $id; //静态页面用上面判断的$tmpid值,动态页面则调用$id值

在原来的tam_id之前定义了一个时间变量,然后进行判断。但是在动态页面时,id值会变成时间,就无法显示文章了,所以最后还加了一行,如果是静态页面则执行第二行的判断,否则就调用ID.
欢迎转载,但请保留原文地址 http://www.sjyhome.com/phpcmsjc/pc-custom-url.html

『柒』 生成短链接,php5.6可用,为什么php7生成不了

#短连接生成算法

class Short_Url {
#字符表
public static $charset = "";

public static function short($url) {
$key = "alexis";
$urlhash = md5($key . $url);
$len = strlen($urlhash);

#将加密后的串分成4段,每段4字节,对每段进行计算,一共可以生成四组短连接
for ($i = 0; $i < 4; $i++) {
$urlhash_piece = substr($urlhash, $i * $len / 4, $len / 4);
#将分段的位与0x3fffffff做位与,0x3fffffff表示二进制数的30个1,即30位以后的加密串都归零
$hex = hexdec($urlhash_piece) & 0x3fffffff; #此处需要用到hexdec()将16进制字符串转为10进制数值型,否则运算会不正常

$short_url = "http://t.cn/";
#生成6位短连接
for ($j = 0; $j < 6; $j++) {
#将得到的值与0x0000003d,3d为61,即charset的坐标最大值
$short_url .= self::$charset[$hex & 0x0000003d];
#循环完以后将hex右移5位
$hex = $hex >> 5;
}

$short_url_list[] = $short_url;
}

return $short_url_list;
}
}

$url = "http://www.cnblogs.com/zemliu/";
$short = Short_Url::short($url);
print_r($short);
********************************
调用方法:
$short = Short_Url::short('www..com');
var_mp($short);
//省略链接memcache
$memcache->set($cacheKey.$short[0],“原始地址”);
************************************

好了,短网址还原了实际就是这个样子的了,可能你看到新浪微博应用里面的短网址都是这个样子:
http://t.cn/zHEYrvV
其实他还原了说不定就是这个样子:
http://t.cn/link.php?url=http://www.Alixixi.com/php-template-framework/832.html
好了,这里就说到第二步了,如何将
http://t.cn/link.php?url=http://www.Alixixi.com/php-template-framework/832.html
缩成
http://t.cn/zHEYrvV
这个地方需要用到url重写,按照本例则可以这么重写:
RewriteEngine On
RewriteBase /
RewriteRule ^/(.*)$ link.php?url=$1[L]

『捌』 php array调用变量值产生短网址失效

你在输出之前先把$arrResponse数组打印出来看看呗,然后你的echo后面的空格没了