新浪短网址接口的稳定性和跳转速度还是很给力的,现给出其API说明。
该接口支持两种返回格式:xml和json
对应的URL请求地址为:
代码如下 | 复制代码 |
xml:http://api.t.sina.com.cn/short_url/shorten.xml |
使用说明
请求方式:GET
请求参数:
source:应用的appkey
url_long:需要转换的长链接
举个例子:
代码如下 | 复制代码 |
xml:http://api.t.sina.com.cn/short_url/shorten.xml?source=123456789&url_long==https://www.111cn.net 返回内容为: <urls> json:http://api.t.sina.com.cn/short_url/shorten.json?source=123456789&url_long=https://www.111cn.net |
返回内容为:
[{"url_short":"http://t.cn/123456789","url_long":https://www.111cn.net","type":0}]
代码如下 | 复制代码 |
<?php |
php原始做法
代码如下 | 复制代码 |
#短连接生成算法 public static function short($url) { #将加密后的串分成4段,每段4字节,对每段进行计算,一共可以生成四组短连接 $short_url = "http://t.cn/"; $short_url_list[] = $short_url; return $short_url_list; $url = http://www.111cn.net; ******************************** |
调用方法:
代码如下 | 复制代码 |
$short = Short_Url::short('www.baidu.com'); |
在本地安装magento后,账号密码登录的时候发现出现空白,无法跳转到后台。
如何解决?
解决方法一:
这是一个cookie问题,使用firefox等非IE核心浏览器可以解决这个问题,虽然浏览器处理cookie的方式很相似但并不是100%相同, Magento其它的版本也有这个问题。
详细的修正这个问题的方法是定位到: app/code/core/Mage/Core/Model/Session/Abstract/Varien.php 。
大约在70行左右你可以看到类似的:
// set session cookie params
session_set_cookie_params(
$this->getCookie()->getLifetime(),
$this->getCookie()->getPath() // 注释掉后面或删除
解决方法二:
不用localhost登陆,
改为你的IP地址登陆:例如http://192.168.1.100/加后台地址,
也可以到apache里指向其它地址,
在服务器上一般不会出现这问题,不用修改。
magento1.9 后台无法登陆问题
打开 magento/app/code/core/Mage/Core/Model/Session/Abstract/varien.php
找到下面的代码,注释掉$cookieParams['domain'] = $cookie->getDomain();这行,就行了。
if (isset($cookieParams['domain'])) {
$cookieParams['domain'] = $cookie->getDomain();
}
结果如下
if (isset($cookieParams['domain'])) {
//$cookieParams['domain'] = $cookie->getDomain();
}
但是按照这个去做之后,还是出现错误,于是我把下面这段全部注释掉
//if (isset($cookieParams['domain'])) {
//$cookieParams['domain'] = $cookie->getDomain();
// }
Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,大家可以查看RFC2045~RFC2049,上面有MIME的详细规范。
这里我们分享一个将图片转换为base64编码格式的方法:
<?php
$img = 'test.jpg';
$base64_img = base64EncodeImage($img);
echo '<img" width=100% src="' . $base64_img . '" />';
function base64EncodeImage ($image_file) {
$base64_image = '';
$image_info = getimagesize($image_file);
$image_data = fread(fopen($image_file, 'r'), filesize($image_file));
$base64_image = 'data:' . $image_info['mime'] . ';base64,' . chunk_split(base64_encode($image_data));
return $base64_image;
}
?>
通过上面的方法转换后得到的base64编码字符串,可以存放到数据库中,需要时可以直接从数据库中读取,减少访问图片时的请求数量。
另:这个方法已经包含进MiniFramework的全局函数库中了。
下面我们来看一篇关于PHP通过反射方法调用执行类中的私有方法,希望这篇教程能够帮助到各位朋友,有兴趣的可以进来看看。PHP 5 具有完整的反射 API,添加了对类、接口、函数、方法和扩展进行反向工程的能力。
下面我们演示一下如何通过反射,来调用执行一个类中的私有方法:
<?php
//MyClass这个类中包含了一个名为myFun的私有方法
class MyClass {
private $tmp = 'hello';
private function myFun()
{
echo $this->tmp . ' ' . 'world!';
}
}
//通过类名MyClass进行反射
$ref_class = new ReflectionClass('MyClass');
//通过反射类进行实例化
$instance = $ref_class->newInstance();
//通过方法名myFun获取指定方法
$method = $ref_class->getmethod('myFun');
//设置可访问性
$method->setAccessible(true);
//执行方法
$method->invoke($instance);
?>