Yii -AutoComplete 表单自动提示实例

 更新时间:2016年11月25日 15:46  点击:2105
本文章来给各位同学介绍Yii -AutoComplete 表单自动提示实例,有需要了解的同学可进入参考。


CJuiAutoComplete 在用户输入时可以根据用户输入的前几个字符自动提示用户可以输入的文字。它封装了 JUI autocomplete插件。

基本用法如下:


controller层代码:

——————————————-

 代码如下 复制代码

<?php

class SiteController extends Controller

{

 public function actionIndex()

 {

 $data=array(‘Nanjing’, ‘Beijing’, ‘Perth’,

‘Chicago’,'Paris’,'Pengnai’,'Sydney’);

 $this->render(‘index’, array(

 ‘data’ => $data,

 ));

 }

}


view层代码:

——————————————————

 代码如下 复制代码

<?php

$this->widget(‘zii.widgets.jui.CJuiAutoComplete’, array(

‘name’=>’city’,

’source’=>$data,

‘options’=>array(

 ‘minLength’=>’1′,//设置文本框中有最少有几个字符的时候开始提示

 ),

 ‘htmlOptions’=>array(

 ’style’=>’height:20px;’

 ),

));

?>

可能有些朋友不知道getimagesize函数不但可以获取图片文件的信息,同时还可以获取如GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型

 代码如下 复制代码

print_r(getimagesize('http://www.111cn.net/logo.jpg'));
输出的结果为:
Array
(
    [0] => 550
    [1] => 190
    [2] => 3
    [3] => width="550" height="190"
    [bits] => 8
    [mime] => image/png
)

如果我们要判断远程文件是否存可以使用很多方法,在php中有ile_get_contents,curl, fsockopen,fopen这些函数都可以获取远程文件哦,下面我来列出它们的实现方法。

方法一:

 代码如下 复制代码

<?php
$url = “http://www.111cn.net”;
$fileExists = @file_get_contents($url, null, null, -1, 1) ? true : false;
echo $fileExists; //返回1,就说明文件存在。
?>

方法二:

 代码如下 复制代码

//php判断远程文件是否存在
function url_exists($url){
    $handle=curl_init($url);
    if(false===$handle){
  return false;
    }
    curl_setopt($handle,CURLOPT_HEADER,false);
    curl_setopt($handle,CURLOPT_FAILONERROR,true);
    curl_setopt($handle,CURLOPT_NOBODY,true);
    curl_setopt($handle,CURLOPT_RETURNTRANSFER,false);
    $connectable=curl_exec($handle);
 
    curl_close($handle);   
    return $connectable;
}


方法三

 代码如下 复制代码


function file_exists($url) {
$curl = curl_init($url);
// 不取回数据
curl_setopt($curl, CURLOPT_NOBODY, true);
// 发送请求
$result = curl_exec($curl);
$found = false;
 // 如果请求没有发送失败
if ($result !== false)
{ // 再检查http响应码是否为200
 }

法一无论图片在不在都是返回FALSE;
方法二windows下可行,LINUX下无论图片在不在都返加TRUE;
方法三应该是最合适的

 代码如下 复制代码


  $url = "http://www.111cn.net";
 
    $info = parse_url($url);
    $fp = fsockopen($info['host'], 80,$errno, $errstr, 30);
    fputs($fp,"GET {$info['path']} HTTP/1.1rn");
    fputs($fp, "Host: {$info['host']}rn");
    fputs($fp, "Connection: closernrn");
    $headers = array();
    while(!feof($fp)) {
    $line = fgets($fp);
    if($line != "rn") {
    $headers[] = $line;
    }else {
    break;
    }
    }
 
    echo "<pre>";
    print_r($headers);

方法四

 代码如下 复制代码

  <?php
    $url = 'http://www.111cn.net';
 
    if( @fopen( $url, 'r' ) )
    {
        echo 'File Exits';
    }
    else
    {
        echo 'File Do Not Exits';
    }
    ?>

在php中读取文件我们需要使用file_get_contents或fopen来打开文件然后再读取了,file_get_contents函数读文件比fopen要方便,写文件需要fopen函数与file_put_contents或fwrite合作才可以实例下面我来介绍下。

php写文件的方法

实例一

 代码如下 复制代码
$filename = 'test.txt';
$filename = dirname ( __FILE__ ) . '/' . $filename;
if (file_exists ( $filename )) {
    if (! is_writable ( $filename )) {
        exit('is not writable');
    }
    $handle = fopen ( $filename, "a+b" );
    $content = 'this is test words';
    $content .= "n";
    fwrite($handle, $content);
    fclose ( $handle );
} else {
    exit('file is not exists');
}

实例二

 代码如下 复制代码

$filename = 'test.txt';
$filename = dirname ( __FILE__ ) . '/' . $filename;
if (file_exists ( $filename )) {
    if (! is_writable ( $filename )) {
        exit('is not writable');
    }
    $content = 'this is test words';
    $content .= "n";
    file_put_contents($filename, utf8_encode($content)); 
} else {
    exit('file is not exists');
}


php读取文件

实例一

 代码如下 复制代码

$filename = 'test.txt';
        $filename = dirname ( __FILE__ ) . '/' . $filename;
        if (file_exists ( $filename )) {
            if (! is_readable ( $filename )) {
                exit('is not readable');
            }
            $contents = file_get_contents($filename);
            $contents = explode("n", $contents);
            print_r($contents);
        } else {
            exit('file is not exists');
        }

实例二

 代码如下 复制代码

$filename = 'test.txt';
$filename = dirname ( __FILE__ ) . '/' . $filename;
if (file_exists ( $filename )) {
    if (! is_readable ( $filename )) {
        exit('is not readable');
    }
    $handle = fopen ( $filename, "rb" );
    $contents = fread($handle, filesize ($filename));
    //$contents = stream_get_contents($handle); // 也可以用方法替换上一行
    $contents = explode("n", $contents);
    fclose ( $handle );
    print_r($contents);
} else {
    exit('file is not exists');
}

今天给大家转一个不错的数组平均值算法函数,这个主要是针对二维数据值的算法,各位有需要了朋友可参考。

计算数组平均值 二维数组平均值计算 分组计算平均值

 代码如下 复制代码

$array = array(
    array('class' => 'a', 'value' => 3),
    array('class' => 'a', 'value' => 4),
    array('class' => 'b', 'value' => 5),
    array('class' => 'b', 'value' => 6)
)

这样的数组可分别以 class键值分组计算平均值
也可以单独计算总的平均值,用法如下

 代码如下 复制代码

array_avg($array, 'class');//返回二维数组
array_avg($array);//返回一维数组
// 计算平均值    返回一维数组
// 参数$avgby 按照指定字段算平均值  返回二维数组
private function array_avg($array, $avgby = NULL) {
    $array_avg = array ();
    $number = count ( $array );
    foreach ( $array as $key => $value ) {
        if ($avgby) {
            $avg_key = $value[$avgby];
            $array_avg[$avg_key]['count'] ++;
            foreach ( $value as $k => $v ) {
                $array_avg[$avg_key][$k] += $v;
            }
        } else {
            foreach ( $value as $k => $v ) {
                $array_avg[$k] += $v;
            }
        }
    }
    $array = array ();
    foreach ( $array_avg as $key => $value ) {
        if ($avgby) {
            foreach ( $value as $k => $v ) {
                $array[$key][$k] = $v / $value['count'];
            }
        } else {
            $array[$key] = $value / $number;
        }
    }
    return $array;
}

[!--infotagslink--]

相关文章