当前位置:  编程技术>php
本页文章导读:
    ▪在CodeIgniter中使用Flourish类库      Flourish并不是一个PHP框架,它是一系列类的集合,能够帮助我们解决PHP开发中遇到的很多问题,提供了诸如数据库抽象层、ORM、图片处理、验证、输入输出、邮件发送、日期、数字等一系列实.........
    ▪新浪微博PHP版SDK的BUG,导致20007错误的解决方案      新浪微博有个高级接口’statuses/upload_url_text’(需要在open.weibo.com中额外申请)。传递一个图片URL地址和文本内容,就可以发一条图文微博对应在php版SDK的function如下:/** * 指定一个图片.........
    ▪PHP Directory 函数      预定义常量:DIRECTORY_SEPARATOR (string) :目录分隔符PATH_SEPARATOR (string) :路径分隔符bool chdir ( string $directory )— 改变目录1 echo getcwd() . "\n";2 chdir('public_html');3 echo getcwd() . "\n";bool chroot ( string $di.........

[1]在CodeIgniter中使用Flourish类库
    来源:    发布时间: 2013-11-07

Flourish并不是一个PHP框架,它是一系列类的集合,能够帮助我们解决PHP开发中遇到的很多问题,提供了诸如数据库抽象层、ORM、图片处理、验证、输入输出、邮件发送、日期、数字等一系列实用的类。

我们可以从Github上获取Flourish最新版的源码,Flourish的结构很简单,所有类都在一个目录下,并且以f开头作为类名,不管是一个新项目还是一个已有项目,我们都可以考虑使用Flourish作为扩展,Flourish可以很容易地和其他框架或类库一起工作,下面将介绍怎样把Flourish集成到CodeIgniter框架中使用,我们主要面对的是怎样autoload Flourish类的问题。

我们把下载的类文件放在application/libraries/flouris目录下,并在application/libraries目录下新建Flourish.php文件:

1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2 /**
3 * Flourish Autoload Class
4 *
5 * Autoload Flourish classes by spl_autoload_register
6 *
7 * @package CodeIgniter
8 * @subpackage Libraries
9 * @category Libraries
10 * @author fineen.chen@gmail.com
11 */
12 class Flourish
13 {
14 /**
15 * Constructor - register autoload function
16 */
17 public function __construct()
18 {
19 spl_autoload_register('Flourish::load');
20 }
21
22 // --------------------------------------------------------------------
23
24 /**
25 * Autoload function
26 *
27 * @access public
28 * @param string $class
29 * @return boolean
30 */
31 static public function load($class)
32 {
33 if (strpos($class, 'f') !== 0)
34 {
35 return FALSE;
36 }
37
38 $flourish_root = APPPATH . 'libraries/flourish/';
39 $file = $flourish_root . $class . '.php';
40 $file = str_replace('/', DIRECTORY_SEPARATOR, $file);
41 if (is_file($file))
42 {
43 require $file;
44 return TRUE;
45 }
46
47 return FALSE;
48 }
49 }
50 /* End of file Flourish.php */
51 /* Location: ./application/libraries/Flourish.php */

在控制器中测试一下:

1 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
2
3 class Welcome extends CI_Controller {
4
5 public function index()
6 {
7 $this->load->library('flourish');
8 $time1 = new fTime('now');
9 echo $time1->format('H:i:s');
10 }
11 }

这样我们在需要使用Flourish类库的时候调用$this->load->library('flourish');就可以了,或者使用自动加载,在application/config/autoload.php修改$autoload['libraries'] = array('flourish');

本文链接


    
[2]新浪微博PHP版SDK的BUG,导致20007错误的解决方案
    来源:    发布时间: 2013-11-07

新浪微博有个高级接口’statuses/upload_url_text’(需要在open.weibo.com中额外申请)。

传递一个图片URL地址和文本内容,就可以发一条图文微博

对应在php版SDK的function如下:

/**
* 指定一个图片URL地址抓取后上传并同时发布一条新微博
*
* 对应API:{@link http://open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
*
* @param string $status 要发布的微博文本内容,内容不超过140个汉字。
* @param string $url 图片的URL地址,必须以http开头。
* @return array
*/
function upload_url_text( $status, $url )
{
$params = array();
$params['status'] = $status;
$params['url'] = $url;
return $this->oauth->post( 'statuses/upload', $params, true );
}

 这里面有明显的错误,以致调用时会出现:20007错误(20007:does multipart has image ?)

改成这样就ok了:

/**
* 指定一个图片URL地址抓取后上传并同时发布一条新微博
*
* 对应API:{@link http://open.weibo.com/wiki/2/statuses/upload_url_text statuses/upload_url_text}
*
* @param string $status 要发布的微博文本内容,内容不超过140个汉字。
* @param string $url 图片的URL地址,必须以http开头。
* @return array
*/
function upload_url_text( $status, $url )
{
$params = array();
$params['status'] = $status;
$params['url'] = $url;
return $this->oauth->post( 'statuses/upload_url_text', $params, false);
}

 另:欢迎围观我今天做的微博应用:http://apps.weibo.com/wmyunqi

本文链接


    
[3]PHP Directory 函数
    来源:    发布时间: 2013-11-07

预定义常量:

DIRECTORY_SEPARATOR (string) :目录分隔符

PATH_SEPARATOR (string) :路径分隔符

bool chdir ( string $directory )— 改变目录

1 echo getcwd() . "\n";
2 chdir('public_html');
3 echo getcwd() . "\n";

bool chroot ( string $directory )— 改变根目录,仅在系统支持且运行于 CLI,CGI 或嵌入 SAPI 版本时才行。

dir::dir ( string $directory )— directory 类,有三个方法可用:read,rewind(将文件内部的位置指针重新指向一个数据流开头) 和 close

1 $d = dir("E:/work/html");
2 foreach($d as $k=>$v){
3 echo $k.'->' .$v. '<br/>';
4 }
5 while(false !== ($entry = $d->read())){
6 echo $entry."<br/>";
7 }
8 $d->close();

void closedir ( resource $dir_handle )— 关闭目录句柄

1 $dir = "/etc/php5/";
2
3 if (is_dir($dir)) {
4 if ($dh = opendir($dir)){
5 $directory = readdir($dh);
6 closedir($dh);
7 }
8 }

string getcwd ( void )— 取得当前工作目录

resource opendir ( string $path [, resource $context ] )— 打开目录句柄

string readdir ( resource $dir_handle )— 从目录句柄中读取条目

1 if ($handle = opendir('/path/to/files')) {
2 echo "Directory handle: $handle\n";
3 echo "Files:\n";
4 while (false !== ($file = readdir($handle))) {
5 echo "$file\n";
6 }
7 closedir($handle);
8 }

void rewinddir ( resource $dir_handle ) —将 dir_handle 指定的目录流重置到目录的开头

array scandir ( string $directory [, int $sorting_order [, resource $context ]] )— 列出指定路径中的文件和目录

1 $dir = '/tmp';
2 $files1 = scandir($dir);
3 $files2 = scandir($dir, 1);
4 print_r($files1);
5 print_r($files2);

 

本文链接


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3