本文目录一览:
- 1、php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
- 2、php获取网页源码内容有哪些办法
- 3、php里有没有指定读取第几行的函数
- 4、php set_error_handle() 参数是数组,则么回事
- 5、PHP获取文件夹大小函数用法实例
- 6、PHP如何从文本中提取指定行数内容
php写一个函数,能够遍历一个文件夹下的所有文件和子文件夹
最近刚写的,可以遍历指定目录下的所有文件、文件夹、特定后缀的文件:
/**
* 遍历目录
* @param string $dir 绝对/相对路径
* @param string $filter 默认*返回所有文件及文件夹,*.php仅返回php文件,如果$patten为GLOB_BRACE可实现多文件筛选,如*.{php,html},返回php和html文件-phphandle函数
* @param const $patten 默认GLOB_BRACE,可选:GLOB_ONLYDIR,更多参数请参考手册
* @param string/bool $nocache 防止本次调用的结果缓存上次的结果,如果一个脚本仅调用一次本函数,则不用管,否则得设个值
* @return array
*/
function globdir($dir, $filter = '*', $patten = GLOB_BRACE, $nocache = null) {
static $file_arr = array ();
isset($nocache) $file_arr = array ();
if (!is_dir($dir)) return;
if ($patten == GLOB_ONLYDIR) {
$code = 'if (is_dir($file)) {$file_arr[] = $file;globdir($file, "*", GLOB_ONLYDIR);}';
} else {
$code = 'is_file($file) ? $file_arr[] = $file : globdir($file,"' . $filter . '",' . $patten . ');';-phphandle函数
}
array_walk(glob("{$dir}/{$filter}", $patten), create_function('$file, $k, $file_arr', $code), $file_arr);-phphandle函数
if ($filter != '*') {
array_walk(glob("{$dir}/*", GLOB_ONLYDIR), create_function('$dir,$k,$param', 'list($filter, $patten) = explode("|", $param);globdir($dir, $filter, $patten);'), "{$filter}|{$patten}");-phphandle函数
}
return $file_arr;
}
php获取网页源码内容有哪些办法
可以参考以下几种方法:
方法一: file_get_contents获取
span style="white-space:pre" /span$url="";
span style="white-space:pre" /span$fh= file_get_contents
('');span style="white-space:pre" /spanecho $fh;
方法二:使用fopen获取网页源代码
span style="white-space:pre" /span$url="";
span style="white-space:pre" /span$handle = fopen ($url, "rb");
span style="white-space:pre" /span$contents = "";
span style="white-space:pre" /spanwhile (!feof($handle)) {
span style="white-space:pre" /span$contents .= fread($handle, 8192);
span style="white-space:pre" /span}
span style="white-space:pre" /spanfclose($handle);
span style="white-space:pre" /spanecho $contents; //输出获取到得内容。
方法三:使用CURL获取网页源代码
$url="";
$UserAgent = 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506; .NET CLR 3.5.21022; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';-phphandle函数
$curl = curl_init(); //创建一个新的CURL资源
curl_setopt($curl, CURLOPT_URL, $url); //设置URL和相应的选项
curl_setopt($curl, CURLOPT_HEADER, 0); //0表示不输出Header,1表示输出
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); //设定是否显示头信息,1显示,0不显示。//如果成功只将结果返回,不自动输出任何内容。如果失败返回FALSE-phphandle函数
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_ENCODING, ''); //设置编码格式,为空表示支持所有格式的编码
//header中“Accept-Encoding: ”部分的内容,支持的编码格式为:"identity","deflate","gzip"。
curl_setopt($curl, CURLOPT_USERAGENT, $UserAgent);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
//设置这个选项为一个非零值(象 “Location: “)的头,服务器会把它当做HTTP头的一部分发送(注意这是递归的,PHP将发送形如 “Location: “的头)。
$data = curl_exec($curl);
echo $data;
//echo curl_errno($curl); //返回0时表示程序执行成功
curl_close($curl); //关闭cURL资源,并释放系统资源
拓展资料
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。-phphandle函数
用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。-phphandle函数
参考资料:PHP(超文本预处理器)-百度百科
php里有没有指定读取第几行的函数
php提供了内置函数fgets(),从文件指针中读取一行。代码如下:?php $file=fopen("D:\\CHENCHENG\\myqq.txt","r"); while(! feof($file)){ $rows = fgets($file); echo "你要的第三行内容就是$rows[2]";}-phphandle函数
php set_error_handle() 参数是数组,则么回事
考虑以下代码:
class CallbackClass {
function CallbackFunction() {
// refers to $this
}
function StaticFunction() {
// doesn't refer to $this
}
}
function NonClassFunction() {
}
在PHP里有三种方法来设置响应函数(使用set_error_handler() 函数作示例):
1: set_error_handler('NonClassFunction');
2: set_error_handler(array('CallbackClass', 'StaticFunction'));
3: $o = new CallbackClass();
set_error_handler(array($o, 'CallbackFunction'));
也就是说,通常,你可以简单地设置某个函数做为错误的响应处理函数,但当这个函数是某个类函数时,其使用方法就是如 set_error_handler(array('CallbackClass', 'StaticFunction')) 这种形式。-phphandle函数
set_exception_handler 与此原理类似。
PHP获取文件夹大小函数用法实例
本文实例讲述了PHP获取文件夹大小函数用法。分享给大家供大家参考。具体如下:
?php
//
获取文件夹大小
function
getDirSize($dir)
{
$handle
=
opendir($dir);
while
(false!==($FolderOrFile
=
readdir($handle)))
{
if($FolderOrFile
!=
"."
$FolderOrFile
!=
"..")
{
if(is_dir("$dir/$FolderOrFile"))
{
$sizeResult
+=
getDirSize("$dir/$FolderOrFile");
}
else
{
$sizeResult
+=
filesize("$dir/$FolderOrFile");
}
}
}
closedir($handle);
return
$sizeResult;
}
//
单位自动转换函数
function
getRealSize($size)
{
$kb
=
1024;
//
Kilobyte
$mb
=
1024
*
$kb;
//
Megabyte
$gb
=
1024
*
$mb;
//
Gigabyte
$tb
=
1024
*
$gb;
//
Terabyte
if($size
$kb)
{
return
$size."
B";
}
else
if($size
$mb)
{
return
round($size/$kb,2)."
KB";
}
else
if($size
$gb)
{
return
round($size/$mb,2)."
MB";
}
else
if($size
$tb)
{
return
round($size/$gb,2)."
GB";
}
else
{
return
round($size/$tb,2)."
TB";
}
}
echo
getRealSize(getDirSize('需要获取大小的目录'));
?
希望本文所述对大家的php程序设计有所帮助。
PHP如何从文本中提取指定行数内容
PHP如何从文本中提取指定行数内容?在php中,通过fopen()方法打开文件,在while中使用fgets()方法获取每行数据,每读到一行,就使用标识记录一次,通过累计记录数计算出文件的行数。下面介绍实现的过程。-phphandle函数
方法/步骤分步阅读
1
/7
新建一个php文件,命名为handle.php,用于讲解PHP怎么获取文件的行数。
2
/7
新建一个文本文件,命名为test.txt,在里面输入四行数据,分别是aaa,bbb,ccc,ddd。
3
/7
在handle.php文件里,使用fopen方法以只读方式打开test.txt文件,代码如下:
4
/7
在handle.php文件里,创建一个初始变量i,用于保存文件内容的行数。
5
/7
通过while()语句,使用fgets方法从文件指针中读取一行,每读取一行,变量i自加一,直到到达文件末尾停止while的执行。
注:!feof($handle),函数检测是否已到达文件末尾。
6
/7
最后,使用echo输出文件的行数,并通过fclose关闭文件资源。代码如下:
7
/7
在浏览器执行handle.php文件,查看输出的行数,执行的结果为4行。
内容仅供参考并受版权保护