当前位置:  编程技术>php
本页文章导读:
    ▪php array_unique 一维数组去除重复值的例子      php中可以使用array_unique()函数去除数组中的重复元素。 array_unique函数 array_unique(array) ; array_unique()函数接受array作为输入并返回没有重复值的新数组,其键名保留不变。 array_unique() 先将值作为.........
    ▪php限制下载速度的实现方法      php限制下载速度(php 限速)的实现方法,有需要的朋友可以参考下。 代码如下: <?php /**   desc:限制下载速度   link:www.   date:2013/2/25 */ // local file that should be send to the client $local_file =.........
    ▪php文件上传时遇到的一个问题(move_uploaded_file)      php文件上传时,用 move_uploaded_file 这个函数不能移动文件,而用copy 或者 rename 确是可以的。 文档上说的比较模糊,就是 move_uploaded_file 这个函数,加了一步检查,检查这个文件是否是有 HTTP PO.........

[1]php array_unique 一维数组去除重复值的例子
    来源: 互联网  发布时间: 2013-12-24

php中可以使用array_unique()函数去除数组中的重复元素。

array_unique函数
array_unique(array) ;
array_unique()函数接受array作为输入并返回没有重复值的新数组,其键名保留不变。
array_unique() 先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,忽略所有后面的键名。

这并不意味着在未排序的array中同一个值的第一个出现的键名会被保留。
只有当 (string) $elem1 = (string) $elem2 时,两个单元被认为相同。即当字符串的表达一样时,第一个单元将被保留。

下面为大家举一个简单的例子。
 

代码如下:
<?php
/**
 * 去除数组中重复元素
 * link:www.
 * date:2013/2/25
*/
$input = array ("1" => "苹果", "橘子","鸭梨", "a" => "橘子", "香蕉", "苹果") ;
$result = array_unique ( $input ) ;
print_r ( $result ) ;
?>

输出结果:
array ( [1] => 苹果 [2] => 橘子 [3] => 鸭梨 [4] => 香蕉 )


    
[2]php限制下载速度的实现方法
    来源: 互联网  发布时间: 2013-12-24

php限制下载速度(php 限速)的实现方法,有需要的朋友可以参考下。

代码如下:

<?php
/**
  desc:限制下载速度
  link:www.
  date:2013/2/25
*/
// local file that should be send to the client
$local_file = 'test-file.zip';

// filename that the user gets as default
$download_file = 'your-download-name.zip';

// set the download rate limit (=> 20,5 kb/s)
$download_rate = 20.5;

if(file_exists($local_file) && is_file($local_file)) {
 // send headers
 header('Cache-control: private');
 header('Content-Type: application/octet-stream');
 header('Content-Length: '.filesize($local_file));
 header('Content-Disposition: filename='.$download_file);

 // flush content
 flush();

 // open file stream
 $file = fopen($local_file, "r");
 while (!feof($file)) {
 // send the current file part to the browser
 print fread($file, round($download_rate * 1024));
 // flush the content to the browser
 flush();
 // sleep one second
 sleep(1);
 }
 // close file stream
 fclose($file);
}
else {
 die('Error: The file '.$local_file.' does not exist!');
}
?>

附:修改Discuz论坛实现对附件下载的限速

研究了一下Discuz的代码,实现了一个可行的方案。
很简单,找到attachment.pnp,找到最下面,有个:
function getlocalfile($filename, $readmod = 1, $range = 0)

修改为:
 

代码如下:

<?php
function getlocalfile($filename, $readmod = 1, $range = 0) {
        if($fp = @fopen($filename, 'rb')) {
            @fseek($fp, $range);
                $download_rate = 10; //限制网速10kb/s
                while(!feof($fp))
               {
                  print fread($fp, round($download_rate * 1024));
                  flush();
                  ob_flush();
                  sleep(1);
                }
        }
        @fclose($fp);

    @flush(); @ob_flush();
}
?>
 

经过测试,发现效果还是很明显的。


    
[3]php文件上传时遇到的一个问题(move_uploaded_file)
    来源: 互联网  发布时间: 2013-12-24

php文件上传时,用 move_uploaded_file 这个函数不能移动文件,而用copy 或者 rename 确是可以的。
文档上说的比较模糊,就是 move_uploaded_file 这个函数,加了一步检查,检查这个文件是否是有 HTTP POST 上传的。

后来,终于源代码里面看到 把文件名和php 配置中的 upload_tmp_dir 这个参数进行比较,如果文件在这个目录下面,那么 move_uploaded_file 才会进行移动操作。而且这个比较是大小写敏感,/ \ 在Windows 下面也是不一样的。而在PHP配置文件解析的时候,会调用一个realpath 函数,也就是是说,你在move_uploaded_file 之前,必须对$file['tmp_name'] = realpath($file['tmp_name']); realpath 一下。

另上,注意,就是 move_uploaded_file 如果配置成一个无法访问的路径,那么不管怎么处理,move_uploaded_file 总是不能成功移动文件。


    
最新技术文章:
▪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数组去重(一维、二维数组去重)的简单示例
IT科技资讯 iis7站长之家
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


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

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

浙ICP备11055608号-3